Redis字串類型的操作

來源:互聯網
上載者:User

標籤:

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, 則返回Null 字元串

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

3: 如果start 所處位置在stop右邊, 返回Null 字元串

 

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..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

OK

redis 127.0.0.1:6379> get char

"Q"l

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字串類型的操作

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.