redis基本操作 —— string

By | 2020年6月1日

一、设置指定key的值 

  命令:set

  格式:set key value

127.0.0.1:6379> set test_key test_value
OK

二、获取指定key的值

  命令:get

  格式:get key

127.0.0.1:6379> get test_key
"test_value"

三、对 key 所储存的字符串值,获取在指定区间的子串

  命令:getrange

  格式:getrange key start end

  说明:start为开始index,end为结束index,index从0开始

127.0.0.1:6379> GETRANGE test_key 2 3
"st"
127.0.0.1:6379> getrange test_key 1 3
"est"
127.0.0.1:6379> getrange test_key 0 3
"test"
127.0.0.1:6379> getrange test_key 3 4
"t_"

四、将给定 key 的值设为 value ,并返回 key 的旧值(old value)。

  命令:getset

  格式:getset key value

127.0.0.1:6379> getset test_key test_value_2
"test_value"
127.0.0.1:6379> get test_key
"test_value_2"

五、对 key 所储存的字符串值,获取指定偏移量上的位(bit)

  命令:getbit

  格式:getbit key offset  

  test_key当前的值"test_value_2",首字母"t"的ASCII码的二进制为0111 0100,故:

127.0.0.1:6379> getbit test_key 0
(integer) 0
127.0.0.1:6379> getbit test_key 1
(integer) 1
127.0.0.1:6379> getbit test_key 2
(integer) 1
127.0.0.1:6379> getbit test_key 3
(integer) 1
127.0.0.1:6379> getbit test_key 4
(integer) 0
127.0.0.1:6379> getbit test_key 5
(integer) 1
127.0.0.1:6379> getbit test_key 6
(integer) 0
127.0.0.1:6379> getbit test_key 7
(integer) 0

六、获取所有(一个或多个)给定 key 的值

  命令:mget

  格式:mget key1 [key2] ...

127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> set key2 value2
OK
127.0.0.1:6379> set key3 value3
OK
127.0.0.1:6379> mget key1 key2 key3
1) "value1"
2) "value2"
3) "value3"

七、对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)

  命令:setbit

  格式:setbit key offset value

  test_key当前的值"test_value_2",首字母"t"的ASCII码的二进制为0111 0100,若设置第6位为1,则值为0111 0110,对应字母"v"

127.0.0.1:6379> get test_key
"test_value_2"
127.0.0.1:6379> setbit test_key 6 1
(integer) 0
127.0.0.1:6379> get test_key
"vest_value_2"

八、设置指定key的值 ,并将 key 的过期时间设为 seconds (以秒为单位)

  命令:setex

  格式:setex key seconds value

127.0.0.1:6379> setex test_key_2 10 test_value
OK
127.0.0.1:6379> get test_key_2
"test_value"
127.0.0.1:6379> get test_key_2
"test_value"
//10s 后
127.0.0.1:6379> get test_key_2
(nil)

九、只有在 key 不存在时设置 key 的值

  命令:setnx

  格式:setnx key value

127.0.0.1:6379> get test_key
"vest_value_2"
127.0.0.1:6379> setnx test_key test_value
(integer) 0
127.0.0.1:6379> get test_key
"vest_value_2"
127.0.0.1:6379> setnx test_key_3 test_value_3
(integer) 1
127.0.0.1:6379> get test_key_3
"test_value_3"

十、用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始

  命令:setrange

  格式:setrange key offset value

127.0.0.1:6379> set test_key test_value
OK
127.0.0.1:6379> get test_key
"test_value"
127.0.0.1:6379> setrange test_key 3 a
(integer) 10
127.0.0.1:6379> get test_key
"tesa_value"
127.0.0.1:6379> setrange test_key 3 abcde
(integer) 10
127.0.0.1:6379> get test_key
"tesabcdeue"

十一、返回 key 所储存的字符串值的长度

  命令:strlen

  格式:strlen key

127.0.0.1:6379> get test_key
"tesabcdeue"
127.0.0.1:6379> strlen test_key
(integer) 10

 十二、同时设置一个或多个 key-value 对

  命令:mset

  格式:mset key value [key value] ....

127.0.0.1:6379> mset key1 value1 key2 value2 key3 value3
OK
127.0.0.1:6379> mget key1 key2 key3
1) "value1"
2) "value2"
3) "value3"

十三、同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在

  命令:msetnx

  格式:msetnx key value [key value] ....

127.0.0.1:6379> mset key1 v1 key2 v2 key3 v3 key4 v4
OK
127.0.0.1:6379> mget key1 key2 key3 key4
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> msetnx key1 value1 key2 value2 key3 value3 key4 value4 key5 value5
(integer) 0
127.0.0.1:6379> mget key1 key2 key3 key4 key5
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) (nil)
127.0.0.1:6379> msetnx key5 v5 key6 v6
(integer) 1
127.0.0.1:6379> mget key1 key2 key3 key4 key5 key6
1) "v1"
2) "v2"
3) "v3"
4) "v4"
5) "v5"
6) "v6"

十四、设置指定key的值 ,并将 key 的过期时间设为 ms (以毫秒为单位)

  命令:psetex

  格式:psetex key ms value

127.0.0.1:6379> psetex key1 10000 value
OK
127.0.0.1:6379> get key1
"value"
127.0.0.1:6379> get key1
"value"
//10s 后
127.0.0.1:6379> get key1
(nil)

十五、将 key 中储存的数字值增一

  命令:incr

  格式:incr key

127.0.0.1:6379> set int_key 1
OK
127.0.0.1:6379> get int_key
"1"
127.0.0.1:6379> incr int_key
(integer) 2
127.0.0.1:6379> get int_key
"2"
127.0.0.1:6379> incr int_key
(integer) 3
127.0.0.1:6379> get int_key
"3"

十六、将 key 所储存的值加上给定的增量值(increment)

  命令:incrby

  格式:incrby key increment

127.0.0.1:6379> get int_key
"3"
127.0.0.1:6379> incrby int_key 10
(integer) 13
127.0.0.1:6379> get int_key
"13"

十七、将 key 所储存的值加上给定的浮点增量值

  命令:incrbyfloat

  格式:incrbyfloat key increment

127.0.0.1:6379> set float_key 1
OK
127.0.0.1:6379> incrbyfloat float_key 0.5
"1.5"
127.0.0.1:6379> get float_key
"1.5"

十八、将 key 中储存的数字值减一

  命令:decr

  格式:decr key

127.0.0.1:6379> get int_key
"13"
127.0.0.1:6379> decr int_key
(integer) 12
127.0.0.1:6379> get int_key
"12"
127.0.0.1:6379> decr int_key
(integer) 11
127.0.0.1:6379> get int_key
"11"

十九、key 所储存的值减去给定的减量值(decrement)

  命令:decrby 

  格式:decrby key decrement

127.0.0.1:6379> get int_key
"11"
127.0.0.1:6379> decrby int_key 5
(integer) 6
127.0.0.1:6379> get int_key
"6"

二十、为指定key的值,追加value

  命令:append

  格式:append key value

127.0.0.1:6379> set key1 value1
OK
127.0.0.1:6379> get key1
"value1"
127.0.0.1:6379> append key1 value2
(integer) 12
127.0.0.1:6379> get key1
"value1value2"
127.0.0.1:6379> set int_key 1
OK
127.0.0.1:6379> get int_key
"1"
127.0.0.1:6379> append int_key 1
(integer) 2
127.0.0.1:6379> get int_key
"11"
127.0.0.1:6379> incrbyfloat int_key 0.5
"11.5"
127.0.0.1:6379> get int_key
"11.5"
127.0.0.1:6379> append int_key 1
(integer) 5
127.0.0.1:6379> get int_key
"11.51"

 

 

参考链接:https://www.runoob.com/redis/redis-strings.html

请关注公众号获取更多资料

发表评论