redis基本操作 —— string
一、设置指定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"