Redis中String型別常用命令

JAVA中的柴犬發表於2018-06-17
常用命令
基本操作
SET key value
    將字串鍵 key 的值設定為 value ,命令返回 OK 表示設定成功。
    如果字串鍵 key 已經存在,那麼用新值覆蓋原來的舊值。
    複雜度為 O(1) 。
GET key
    返回字串鍵 key 儲存的值。
    複雜度為 O(1) 。
SETNX key value
    僅在鍵 key 不存在的情況下,將鍵 key 的值設定為 value ,效果和 SET key value NX 一樣。
    NX 的意思為“Not eXists”(不存在)。
    鍵不存在並且設定成功時,命令返回 1;因為鍵已經存在而導致設定失敗時,命令返回 0 。
MSET key value [key value ...] 
     一次為一個或多個字串鍵設定值,效果和同時執行多個SET 命令一樣。命令返回 OK 。
    複雜度為O(N),N 為要設定的字串鍵數量。
MGET key [key ...] 
    一次返回一個或多個字串鍵的值,效果和同時執行多GET 命令一樣。
    複雜度O(N),N 為要獲取的字串鍵數量。
MSETNX key value [key value ...]
    只有在所有給定鍵都不存在的情況下, MSETNX 會為所有給定鍵設定值,效果和同時執行多個
    SETNX 一樣。如果給定的鍵至少有一個是存在的,那麼 MSETNX 將不執行任何設定操作。
    返回 1 表示設定成功,返回 0 表示設定失敗。複雜度為 O(N) , N 為給定的鍵數量。
GETSET key new-value
    將字串鍵的值設定為 new-value ,並返回字串鍵在設定新值之前儲存的舊值(old value)。
    複雜度為 O(1) 。
APPEND key value
    將值 value 推入到字串鍵 key 已儲存內容的末尾。
    O(N), 其中 N 為被推入值的長度。
STRLEN key
    返回字串鍵 key 儲存的值的長度。
    因為 Redis 會記錄每個字串值的長度,所以獲取該值的複雜度為 O(1) 。
索引和範圍
字串的索引( index)以 0 為開始,從字串的開頭向字串的結尾依次遞增,字串第一個字元的索
引為 0 ,字串最後一個字元的索引為 N-1 ,其中 N 為字串的長度。
除了(正數)索引之外,字串還有負數索引:負數索引以 -1 為開始,從字串的結尾向字串的開頭
依次遞減,字串的最後一個字元的索引為 -N ,其中 N 為字串的長度。
SETRANGE key index value
    從索引 index 開始,用 value 覆寫(overwrite)給定鍵 key 所儲存的字串值。只接受正數索引。
    命令返回覆寫之後,字串值的長度。複雜度為 O(N), N 為 value 的長度。  
GETRANGE key start end
    返回鍵 key 儲存的字串值中,位於 startend 兩個索引之間的內容(閉區間,startend 會被包括
    在內)。和 SETRANGE 只接受正數索引不同, GETRANGE 的索引可以是正數或者負數。
    複雜度為 O(N) , N 為被選中內容的長度。
數字操作
只要儲存在字串鍵裡面的值可以被解釋為 64 位整數,或者 IEEE-754 標準的 64 位浮點數,
那麼使用者就可以對這個字串鍵執行鍼對數字值的命令。
INCRBY key increment
    將 key 所儲存的值加上增量 increment ,命令返回操作執行之後,鍵 key 的當前值。複雜度為O(1)
DECRBY key decrement
    將 key 所儲存的值減去減量 decrement ,命令返回操作執行之後,鍵 key的當前值。複雜度為O(1)
INCR key 
    等同於執行 INCRBY key 1 複雜度為O(1)
DECR key 
    等同於執行 DECRBY key 1 複雜度為O(1)
INCRBYFLOAT key increment
    為字串鍵 key 儲存的值加上浮點數增量 increment ,命令返回操作執行之後,鍵 key 的值。
    沒有相應的 DECRBYFLOAT ,但可以通過給定負值來達到 DECRBYFLOAT 的效果。
複雜度為 O(1) 。

注意事項

即使字串鍵儲存的是數字值,它也可以執行 APPEND、STRLEN、SETRANGE 和 GETRANGE 。
當使用者針對一個數字值執行這些命令的時候,Redis 會先將數字值轉換為字串,然後再執行命令。
二進位制資料操作
SETGET 、SETNX、APPEND等命令同樣可以用於設定二進位制資料。
和儲存文字時一樣,字串鍵在儲存二進位制位時,索引也是從 0 開始的。
但是和儲存文字時,索引從左到右依次遞增不同,當字串鍵儲存的是二進位制位時,二進位制位的索引會
從左到右依次遞減。
SETBIT key index value
    將給定索引上的二進位制位的值設定為 value ,命令返回被設定的位原來儲存的舊值。
    複雜度為 O(1) 。
GETBIT key index
    返回給定索引上的二進位制位的值。
    複雜度為 O(1) 。
BITCOUNT key [start] [end]
    計算並返回字串鍵儲存的值中,被設定為 1 的二進位制位的數量。
    一般情況下,給定的整個字串鍵都會進行計數操作,    但通過指定額外的 startend 引數,可以讓計
    數只在特定索引範圍的位上進行。
    startend 引數的設定和 GETRANGE 命令類似,都可以使用負數值:比如 -1 表示最後一個位,而 -2
    表示倒數第二個位,以此類推。
BITOP operation destkey key [key ...]
    對一個或多個儲存二進位制位的字串鍵執行位元操作,並將結果儲存到 destkey 上。
    operation 可以是 ANDORNOTXOR 這四種操作中的任意一種:
    命令

相關文章