string型別
- 儲存的資料:單個資料,最簡單的資料儲存型別,也是最常用的資料儲存型別
- 儲存資料的格式:一個儲存空間儲存一個資料
- 儲存內容:通常使用字串,如果字串以整數的形式展示,可以作為數字操作使用
string型別資料的基本操作
- 新增/修改資料
set key value
- 獲取資料
get key
- 刪除資料
del key
- 新增/修改多個資料
mset key1 value1 key2 value2 ...
- 獲取多個資料
mget key1 key2 ...
- 獲取資料字元個數(字串長度)
strlen key
- 追加資訊到原始資訊後部(如果原始資訊存在就追加,否則就新建)
append key value
- set和mset的操作選擇(主要是看業務和設定的條數來定,設定條數越多mset比set越好。條數的需要看它兩的零界點)
string型別資料的擴充套件操作
業務場景
大型企業級應用中,分表操作是基本操作,使用多張表儲存同型別資料,但是對應的主鍵id必須保證統一性,不能重複。Oracle資料庫具有sequence設定,可以解決該問題,但是MySQL資料庫並不具備類似的機制,那麼如何解決?
解決方案 - 設定數值資料增加指定範圍的值
incr key incrby key increment incrbyfloat key increment
- 設定數值資料減少指定範圍的值
Tips1:decr key decrby key increment
- redis用於控制資料庫主鍵id,為資料庫表主鍵提供生成策略,保障資料庫表的主鍵唯一性
- 此方案適用於所有資料庫,且支援資料庫叢集
業務場景
“最強女生”啟動海選投票,只能透過微信投票,每個微訊號每4小時只能投1票。
電商商家開啟熱門商品推薦,熱門商品不能一直處於熱門期維持3天,3天后自動取消。
新聞網站會出現熱點新聞,熱點新聞最大的特徵是時效性,如何自動控制熱點新聞的時效性。
解決方案
- 設定資料具有指定的生命週期
Tips2:setex key seconds value psetex key milliseconds value
- redis控制資料的生命週期,透過資料是否失效控制業務行為,適用於所有具有時效性限定控制的操作。
string型別資料操作的注意事項
- 資料操作不成功的反饋與資料正常操作之間的差異
①表示執行結果是否成功- (integer)0 → false 失敗
- (integer)1 → true 成功
②表示執行結果值 - (integer)3 → 3個
- (integer)1 → 1個
- 資料未獲取到
(nil)等同於null - 資料最大儲存量
512MB - 數值計算最大返回(java中的long的最大值)
9223372036854775807(2^64-1)
本作品採用《CC 協議》,轉載必須註明作者和本文連結