儲存文字、數字或二進制數據
1,為字符串鍵設置值 set strkey "strvalue"
2,獲取字符串的值 get strkey
3,只在鍵不存在的情況下設置 setnx strkey "strvlaue";
鍵不存在返回1,已存在設置失敗,返回0
4,同時設置多個鍵值 MSET key1 "v1" key2 "v2" key3 "v3"
5,同時獲取多個鍵值 mget key1 key2 key3
6,同時設置多個不存在的鍵值 MSETNX key1 "v1" key2 "v2" key3 "v3"
只有在所有給定鍵都不存在的情況下, MSETNX 會為所有給定鍵設置值,效果和同時執行多個 SETNX 一樣。如果給定的鍵至少有一個是存在的,那么 MSETNX 將 不執行任何設置操作。鍵不存在返回1,已存在設置失敗,返回0
7,設置新值並返回舊值 getset key1 v1
set key1 "v1";
getset key1 "v2"; ---返回 v1,
get key1;---返回v2
8,追加內容到字符串末尾 append
set key1 "v1";
append key1 "--kkk";
get key1;---返回v1--kkk
9,返回值的長度 strlen key1
10,根據索引替換值,正數索引
set key1 "one";
setrange key1 1 "range";
get key1;---返回orange
11,索引取值 包含start end
set key1 "hello world";
getrange key1 0 4; ---返回 "hello"
getrange key1 -5 -1; ---返回 "world"
12,增加或減少數字的值
INCRBY num 100 ;--鍵 num 不存在,命令先將 num 的值初始化為 0,然后再執行加 100 操作 ,返回 (integer) 100
INCRBY num 25 ; 將值再加上 25 返回 (integer) 125
DECRBY num 10 ; 將值減少 10 返回 (integer) 115
DECRBY num 50; 將值減少 50 返回 (integer) 6
13,增一和減一
SET num 10 ;
INCR num ;返回(integer) 11
DECR num ;返回(integer) 10
14,浮點數增減
SET num 10 ; INCRBYFLOAT num 3.14 ;返回"13.14"
INCRBYFLOAT num -2.04 ;通過傳遞負值來達到做減法的效果 返回"11.1"
即使字符串鍵儲存的是數字值,它也可以執行 APPEND、STRLEN、SETRANGE 和 GETRANGE 。 當用戶針對一個數字值執行這些命令的時候,Redis 會先將數字值轉換為字符串,然后再執行命令。
15,二進制數據操作,SET 、GET 、SETNX、 APPEND 等命令同樣可以用於設置二進制數據。
16,設置二進制位的值 SETBIT key index value 將給定索引上的二進制位的值設置為 value ,命令返回被設置的位原來儲存的舊值。
17,獲取二進制位的值 GETBIT key index 返回給定索引上的二進制位的值。
18,計算值為 1 的二進制位的數量 BITCOUNT key [start] [end] 計算並返回字符串鍵儲存的值中,被設置為 1 的二進制位的數量。 一般情況下,給定的整個字符串鍵都會進行計數操作,但通過指定額外的 start 或 end 參數,可以讓計 數只在特定索引范圍的位上進行。 start 和 end 參數的設置和 GETRANGE 命令類似,都可以使用負數值:比如 -1 表示最后一個位,而 -2 表示倒數第二個位,以此 類推。
19,二進制位運算 BITOP operation destkey key [key ...]
命令的返回值為計算所得結果的字節長度,相當於對 destkey 執行 STRLEN
operation 可以是 AND 、 OR 、 NOT 、 XOR 這四種操作中的任意一種:
BITOP AND destkey key [key ...] ---對一個或多個 key 求邏輯並,並將結果保存到 destkey 。
BITOP OR destkey key [key ...] ---對一個或多個 key 求邏輯或,並將結果保存到 destkey 。
BITOP XOR destkey key [key ...] ---對一個或多個 key 求邏輯異或,並將結果保存到 destkey 。
BITOP NOT destkey key ---對給定 key 求邏輯非,並將結果保存到 destkey 。
20,STRLEN、SETRANGE 和 GETRANGE 不適用於中文
STRLEN、SETRANGE 和 GETRANGE 都是為英文設置的,它們只會在字符為單個字節的情況下正常 工作,而一旦我們儲存的是類似中文這樣的多字節字符,那么這三個命令就不再適用了
如果你想知道被 儲存的中文包含多少個字節,那么可以使用 STRLEN