Redis字串型別的操作

2022-03-03 17:27:19 字數 3301 閱讀 8681

set key value [ex 秒數] / [px 毫秒數]  [nx] /[xx]

如: set a 1 ex 10 , 10秒有效

set a 1 px 9000  , 9秒有效

注: 如果

ex,px

同時寫,

以後面的有效期為準

如 set a 1 ex 100 px 9000, 實際有效期是

9000

毫秒nx: 表示

key不存在時

,執行操作

xx: 表示

key存在時

,執行操作

mset  multi set , 一次性設定多個鍵值

例: mset key1 v1 key2 v2 ....

get key

作用:獲取

key的值

mget key1 key2 ..keyn

作用:獲取多個

key的值

setrange key offset value

作用:把字串的

offset

偏移位元組,改成

value

redis 127.0.0.1:6379> set greet hello

okredis 127.0.0.1:6379> setrange greet 2 x

(integer) 5

redis 127.0.0.1:6379> get greet

"hexlo"

注意: 如果偏移量

>

字元長度

, 該字元自動補

0x00

redis 127.0.0.1:6379> setrange greet 6 !

(integer) 7

redis 127.0.0.1:6379> get greet

"heyyo\x00!"

作用: 把

value

追加到key

的原值上

getrange key start stop

作用: 是獲取字串中

[start, stop]

範圍的值

注意: 對於字串的下標

,左數從0開始

,右數從

-1開始

redis 127.0.0.1:6379> set title 'chinese'

okredis 127.0.0.1:6379> getrange title 0 3

"chin"

redis 127.0.0.1:6379> getrange title 1 -2

"hines"

注意:1: start>=length, 則返回空字串

2: stop>=length,則擷取至字元結尾

3: 如果

start

所處位置在

stop

右邊,

返回空字串

getset key newvalue

作用: 獲取並返回舊值

,設定新值

redis 127.0.0.1:6379> set cnt 0

okredis 127.0.0.1:6379> getset cnt 1

"0"redis 127.0.0.1:6379> getset cnt 2

"1"incr key

作用: 指定的

key的值加

1,並返回加

1後的值

注意:1:不存在的

key當成0,再

incr

操作2: 範圍為

64有符號

incrby key number

redis 127.0.0.1:6379> incrby age  90

(integer) 92

incrbyfloat key floatnumber

redis 127.0.0.1:6379> incrbyfloat age 3.5

"95.5"

decr key

redis 127.0.0.1:6379> set age 20

okredis 127.0.0.1:6379> decr age

(integer) 19

decrby key number

redis 127.0.0.1:6379> decrby age 3

(integer) 16

getbit key offset

作用:獲取值的二進位制表示

,對應位上的值(從左

,從0編號

)redis 127.0.0.1:6379> set char a

okredis 127.0.0.1:6379> getbit char 1

(integer) 1

redis 127.0.0.1:6379> getbit char 2

(integer) 0

redis 127.0.0.1:6379> getbit char 7

(integer) 1

setbit  key offset value

設定offset對應二進位制位上的值

返回: 該位上的舊值

注意:1:如果

offset過大,

則會在中間填充

0,2: offset最大大到多少

3:offset最大

2^32-1,

可推出最大的的字串為

512m

bitop operation destkey key1 [key2 ...]

對key1,key2..keyn作

operation,

並將結果儲存到

destkey

上。operation 可以是

and

、 or

、 not

、 xor

redis 127.0.0.1:6379> setbit lower 7 0

(integer) 0

redis 127.0.0.1:6379> setbit lower 2 1

(integer) 0

redis 127.0.0.1:6379> get lower

redis 127.0.0.1:6379> set char q

okredis 127.0.0.1:6379> get char

"q"redis 127.0.0.1:6379> bitop or char char lower

(integer) 1

redis 127.0.0.1:6379> get char

"q"注意: 對於

not操作

, key

不能多個

Redis的字串型別

字串是 redis 中最常用的資料結構。字串型別的值,簡單字串,json xml,數字,二進位制 等 最大 512mb 大小。set key value ex seconds px milliseconds nx xx ex 為鍵設定秒級過期時間 px 為鍵設定毫秒級過期時間 nx 鍵必須不存在,才...

Redis 字串操作

設定值並加上有效時間 set key value ex 秒數 px 毫秒數 nx xx nx表示key不存在時執行操作 xx表示key存在時執行操作 獲取key的值 get key 一次性設定多個值 mset key1 value1 key2 value2 一次性獲取多個key的值 mget key...

redis字串操作

在redis中,資料型別比較豐富,有字串 列表 集合 雜湊表 有序集合。一 數值操作 設定鍵k1的初始值為1 1 自增1 命令 incr key 例如 incr k1 結果 2 2 自減1 命令 decr key 例如 decr k1 結果 1 3 自增n 命令 incrby key n 例如 in...