天天看點

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

STRLEN

STRLEN key      
可用版本: >= 2.2.0
複雜度: O(1)      

傳回鍵 ​

​key​

​ 對應的字元串的長度。

示範

STRLEN指令傳回鍵​

​key​

​對應字元串的長度。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

當鍵​

​key​

​​不存在時, 指令傳回 ​

​0​

​ 。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

當鍵​

​key​

​對應的不是字元串時, 傳回一個錯誤。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

APPEND

APPEND key value      
可用版本: >= 2.0.0
時間複雜度: 平攤O(1)      

示範

如果鍵​

​key​

​​已經存在,并且對應的值是一個字元串, APPEND指令将把 ​

​value​

​​ 追加到鍵 ​

​key​

​ 對應字元串的末尾。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

傳回鍵​

​key​

​​對應字元串追加​

​value​

​​之後的長度。如果鍵​

​key​

​​不存在, APPEND就簡單地将鍵​

​key​

​​的值設為​

​value​

​​, 就像執行 ​

​SET key value​

​ 一樣。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

SETRANGE

SETRANGE key offset value      
可用版本: >= 2.2.0
時間複雜度:對于長度較短的字元串,指令的平攤複雜度O(1);對于長度較大的字元串,指令的複雜度為 O(M) ,其中 M 為 value 的長度。      

從偏移量​

​offset​

​​開始(從​

​0​

​​開始), 用​

​value​

​​覆寫(​

​overwrite​

​​)鍵​

​key​

​對應的字元串。

示範

對非空字元串執行SETRANGE指令:

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

SETRANGE指令會傳回被修改之後字元串的長度。如果鍵​

​key​

​​對應的字元串長度比偏移量小, 那麼該字元串和偏移量之間的空白将用零位元組(​

​\x00​

​)進行填充:

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

GETRANGE

GETRANGE key start end      
可用版本: >= 2.4.0
時間複雜度: O(N),其中 N 為被傳回的字元串的長度。      

傳回鍵​

​key​

​​對應的字元串的指定部分, 字元串的指定部分由 ​

​start​

​​ 和 ​

​end​

​​ 兩個偏移量決定 (包括 ​

​start​

​​ 和 ​

​end​

​ 在内)。

示範

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

傳回索引​

​10-15​

​​的子字元串,包括索引​

​10​

​​和​

​15​

​​的字元。負數偏移量表示從字元串的末尾開始計數, ​

​-1​

​​ 表示倒數第一個字元, ​

​-2​

​ 表示倒數第二個字元, 以此類推。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

從第一個字元到最後一個字元。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

不支援回繞操作。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹

偏移量超過鍵​

​key​

​對應的字元串長度部分會被自動忽略。

Redis:字元串STRLEN、APPEND、SETRANGE、GETRANGE指令介紹