redis string類型資料常用的16條指令總結
描述:string 類型是最簡單的類型,一個key對應一個value,string類型是二進制安全的。redis的string可以包含任何資料,比如jpg圖檔或序列化對象。
常用方法:
1, set方法:
set <key> <value> 設定key的值為value
(1)對不存在的key使用set:
(2)對已存在的key使用set,更換key的值:
2,setnx 方法:
setnx <key> <value> 當key不存在時,設定key的值為value,設定成功,傳回1,設定失敗,傳回0.
3,setex 方法:
setex <key> <seconds> <value> 設定key的值為value,過期時間為seconds(機關為秒).如果key已經存在,
則會覆寫其值。過期之後,傳回的是為nil.
4,setrange方法:
setrange <key> <offset> <value> 用 value 參數覆寫給定 key 所儲存的字元串值,下标從0開始,偏移量從 offset 開始。如果key不存在,則當做空白字元串處理。此指令會確定字元串足夠長以便将 value 設定在指定的偏移量上,如果給定 key 原來儲存的字元串長度比偏移量小(比如字元串隻有 5 個字元長,但你設定的 offset 是 10 ),那麼原字元和偏移量之間的空白将用零位元組(zerobytes, "\x00" )來填充。注意你能使用的最大偏移量是 2^29-1(536870911) ,因為 redis 字元串的大小被限制在 512 兆(megabytes)以内。如果你需要使用比這更大的空間,你可以使用多個 key 。
5,mset方法:
mset <key> <value> [<key> <value> ...] 同時設定多個key-value對,如果key已經存在,則會覆寫以前的值。
6,msetnx方法:
msetnx <key> <value> [<key> <value> ...] 類似與mset方法,同時設定多個key-value對,當且僅當所給定的key都不存在時。如果操作成功,傳回1,失敗傳回0.
7,append方法:
append <key> <value> 将value追加到原來的key值之後,如果key本不存在,則預設建立一個key-value對。操作成功傳回1,失敗傳回0.
8 ,get 方法:
get <key> 取出 key的值。
9, mget 方法:
mget <key> [<key>...] 取出多個key的值。如果給定的 key 裡面,有某個 key 不存在,那麼這個 key 傳回特殊值 nil。
10, getrange 方法:
getrange <key> <start> <end> 擷取key對應值的子字元串,從偏移量start到end之間的串(包含start和end),value最左邊的一個字元的索引為0以此類推,最後一個字元的索引為字元串的總長度減一,反過來類似。這與python中的切片操作及其類似。如,字元串"zhangsan"對應的正向下标如下圖中的下标一所示,反向下标如下圖中的下标二所示。
<col>
下标一:
1
2
3
4
5
6
7
z
h
a
n
g
s
下标二:
-7
-6
-5
-4
-3
-2
-1
11,getset方法:
getset <key> <value> 設定key的值為value,并傳回key的舊值,當key的舊值不存在時,傳回nil。
12, strlen 方法:
strlen <key> 傳回key的長度,如果key的值不存在時,傳回0.
13,incr 方法:
incr <key> 将key的值加1。如果key的值不存在,則預設設定key的值為0,調用一次,增加一次,如果key的值不是整數類型,則傳回一個錯誤。
14, decr 方法:
decr <key> 類似與incr方法,将key的值減1。如果key的值不存在,則預設設定key的值為0,調用一次,減一次,如果key的值不是整數類型,則傳回一個錯誤。
15,incrby 方法:
incrby<key> <increment> 類似與decr方法,将key的值增加增量increment。同理,錯誤的類型任然傳回錯誤。如果key值不存在,則預設為0後進行操作。
16,decrby 方法:
decrby <key> <decrement> 類似與decr方法,将key的值減去增量decrement。同理,錯誤的類型任然傳回錯誤。如果key值不存在,則預設為0後進行操作。