Redis字符串類型的操作

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

OK

redis 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!"

 

 

 

append key value

作用: value追加到key的原值上

 

getrange key start stop

作用: 是獲取字符串中 [start, stop]範圍的值

注意: 對於字符串的下標,左數從0開始,右數從-1開始

redis 127.0.0.1:6379> set title 'chinese'

OK

redis 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

OK

redis 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

OK

redis 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

OK

redis 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..keyNoperation,並將結果保存到destkey 上。

operation 可以是 ANDORNOTXOR

 

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

OK

redis 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不能多個

發佈了20 篇原創文章 · 獲贊 10 · 訪問量 5萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章