Redis之string型別及操作

stonebox1122發表於2017-08-11
set:設定key對應的值為string型別的value。
127.0.0.1:6379> set name stone
OK
127.0.0.1:6379> get name
"stone"
127.0.0.1:6379> set name stone1
OK
127.0.0.1:6379> get name
"stone1"

setnx:設定key對應的值為string型別的value,如果key已經存在,返回0,nx是not exist的意思。
127.0.0.1:6379> get name
"stone1"
127.0.0.1:6379> setnx name stone
(integer) 0
127.0.0.1:6379> get name
"stone1"

setex:設定key對應的值為string型別的value,並指定此鍵值對應的有效期。
127.0.0.1:6379> setex haircolor 10 red
OK
127.0.0.1:6379> get haircolor
"red"
127.0.0.1:6379> get haircolor
(nil)

setrang:設定指定key的value值的子字串。
127.0.0.1:6379> set email stone@163.com
OK
127.0.0.1:6379> setrange email 6 qq.com
(integer) 13
127.0.0.1:6379> get email
"stone@qq.comm"

mset:一次設定多個key的值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定。
127.0.0.1:6379> mset key1 stone1 key2 stone2
OK
127.0.0.1:6379> get key1
"stone1"
127.0.0.1:6379> get key2
"stone2"

msetnx:一次設定多個key的值,成功返回ok表示所有的值都設定了,失敗返回0表示沒有任何值被設定,但是不會覆蓋已經存在的key。
127.0.0.1:6379> msetnx key1 s1 key2 s2 key3 ston3
(integer) 0
127.0.0.1:6379> get key1
"stone1"
127.0.0.1:6379> get key2
"stone2"
127.0.0.1:6379> get key3
(nil)
127.0.0.1:6379> msetnx key3 stone3 key4 stone4
(integer) 1
127.0.0.1:6379> get key3
"stone3"
127.0.0.1:6379> get key4
"stone4"

get:獲取key對應的string值,如果key不存在返回nil。
getset:設定key的值,並返回key的舊值。
127.0.0.1:6379> get key4
"stone4"
127.0.0.1:6379> getset key4 stone44
"stone4"
127.0.0.1:6379> get key4
"stone44"

getrange:獲取key的value值的子字串。
127.0.0.1:6379> get key4
"stone44"
127.0.0.1:6379> getrange key4 0 1
"st"
127.0.0.1:6379> getrange key4 0 0
"s"

mget:一次獲取多個key的值,如果對應key不存在則對應返回nil。
127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "stone1"
2) "stone2"
3) "stone3"
4) "stone44"
5) (nil)

incr:對key的值做加加操作,並返回新的值。
incrby:同incr類似,加指定值,key不存在時候會設定key,並認為原來的value是0。
127.0.0.1:6379> set num1 10
OK
127.0.0.1:6379> incr num1
(integer) 11
127.0.0.1:6379> get num1
"11"
127.0.0.1:6379> get num2
(nil)
127.0.0.1:6379> incrby num2 2
(integer) 2
127.0.0.1:6379> incrby num2 2
(integer) 4
127.0.0.1:6379> get num2
"4"

decr:對key的值做減減操作。
decrby:同decr類似,減指定值。
127.0.0.1:6379> get num1
"11"
127.0.0.1:6379> decr num1
(integer) 10
127.0.0.1:6379> get num1
"10"
127.0.0.1:6379> get num2
"4"
127.0.0.1:6379> decrby num2 2
(integer) 2
127.0.0.1:6379> get num2
"2"

append:給指定key的字串追加value,返回新字串值的長度。
127.0.0.1:6379> get name
"stone1"
127.0.0.1:6379> append name @qq.com
(integer) 13
127.0.0.1:6379> get name
"stone1@qq.com"

strlen:取指定key的value值的長度。
127.0.0.1:6379> strlen name
(integer) 13

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28536251/viewspace-2143375/,如需轉載,請註明出處,否則將追究法律責任。

相關文章