Redis中String型別常用命令
常用命令
基本操作
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 儲存的字串值中,位於 start 和 end 兩個索引之間的內容(閉區間,start 和 end 會被包括
在內)。和 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 會先將數字值轉換為字串,然後再執行命令。
二進位制資料操作
SET 、GET 、SETNX、APPEND等命令同樣可以用於設定二進位制資料。
和儲存文字時一樣,字串鍵在儲存二進位制位時,索引也是從 0 開始的。
但是和儲存文字時,索引從左到右依次遞增不同,當字串鍵儲存的是二進位制位時,二進位制位的索引會
從左到右依次遞減。
SETBIT key index value
將給定索引上的二進位制位的值設定為 value ,命令返回被設定的位原來儲存的舊值。
複雜度為 O(1) 。
GETBIT key index
返回給定索引上的二進位制位的值。
複雜度為 O(1) 。
BITCOUNT key [start] [end]
計算並返回字串鍵儲存的值中,被設定為 1 的二進位制位的數量。
一般情況下,給定的整個字串鍵都會進行計數操作, 但通過指定額外的 start 或 end 引數,可以讓計
數只在特定索引範圍的位上進行。
start 和 end 引數的設定和 GETRANGE 命令類似,都可以使用負數值:比如 -1 表示最後一個位,而 -2
表示倒數第二個位,以此類推。
BITOP operation destkey key [key ...]
對一個或多個儲存二進位制位的字串鍵執行位元操作,並將結果儲存到 destkey 上。
operation 可以是 AND 、 OR 、 NOT 、 XOR 這四種操作中的任意一種:
命令
相關文章
- redis-6.string型別Redis型別
- 2、Redis的資料型別-stringRedis資料型別
- Redis中的Hash型別12個常用命令Redis型別
- Redis 資料型別及常用命令Redis資料型別
- [Redis 基礎知識] Redis Zset 型別常用命令Redis型別
- [Redis 基礎知識] Redis Set 型別常用命令Redis型別
- [Redis 基礎知識] Redis List 型別常用命令Redis型別
- String 型別型別
- Redis 五大資料型別之 String(字串)Redis大資料資料型別字串
- Redis 資料型別及其使用場景 String 篇Redis資料型別
- 帶你掌握Redis資料型別:string和HashRedis資料型別
- String:字串型別字串型別
- Redis中一個String型別引發的慘案Redis型別
- Redis筆記(4)redis五大資料型別1----string(字串)Redis筆記大資料資料型別字串
- BigDecimal轉為String型別、int型別Decimal型別
- Redis的String型別,原來這麼佔記憶體Redis型別記憶體
- string型別介紹型別
- Java中String和byte型別互相轉換Java型別
- 三種獲取redis的連線,以及redis_String型別演示(適合新手)Redis型別
- (JS基礎)String 型別JS型別
- Redis資料結構(一)-Redis的資料儲存及String型別的實現Redis資料結構型別
- String.valueOf和強制型別轉換(String)的區別型別
- JavaScript的String和Boolean型別JavaScriptBoolean型別
- 型別轉換(int 和 String)型別
- C++ string型別常用操作C++型別
- Redis學習筆記(02-儲存String型別的基本命令)Redis筆記型別
- jsp頁面number型別自動轉為String型別JS型別
- 【Redis】Redis的資料型別速查(5種基礎型別,5特殊型別)Redis資料型別
- { [key: string]: any } 是 TypeScript 中的一種型別註解TypeScript型別
- java中判斷String型別為空和null的方法Java型別Null
- C++之string型別詳解C++型別
- PHP基礎-資料型別-stringPHP資料型別
- Redis中 HyperLogLog資料型別使用總結Redis資料型別
- Redis資料型別Redis資料型別
- Java中Switch支援String字串?為什麼不支援long型別?Java字串型別
- JSON序列化時將BigDecimal型別轉換成String型別JSONDecimal型別
- string型別資料的find函式型別函式
- 切片去重(string,int型別去重)型別