redis字符串类型操作命令
1**set key value [ex ss] | [px sss] [nx | xx]**

ex ss:设置生命周期,单位秒
px sss:设置生命周期,单位毫秒
如果ex,px不能同时写
nx: 表示key不存在时,set key操作,否则不做任何操作
xx: 表示key存在时,set key操作,否则不做任何操作

127.0.0.1:6379> set userid1 1101 ex 120
OK
127.0.0.1:6379> ttl userid1
(integer) 117
127.0.0.1:6379> set userid1 1101 px 500000
OK
127.0.0.1:6379> pttl userid1
(integer) 492500
127.0.0.1:6379> set userid1 1101   px 55500 nx
(nil)
127.0.0.1:6379> set userid1 1101   px 55500 xx
OK
127.0.0.1:6379> set userid2 1101   px 55500 nx
OK
127.0.0.1:6379> keys *
1) "userid1"
2) "userid2"
3) "userid"

2 mset key1 v1 key2 v2 …. 一次性设置多个键值
3 mget key1 key2 ..keyn 获取多个key的值

127.0.0.1:6379> mset a 1 b 2 c 3
OK
127.0.0.1:6379> mget a b c
1) "1"
2) "2"
3) "3"

4 setrange key offset value
从字符串的offset字节处开始,替换成value

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> setrange userid 2 aa
(integer) 6
127.0.0.1:6379> get userid
"11aa11"

注意: 如果offset>字符长度, 该字符自动补0x00

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> setrange userid 8 bb
(integer) 10
127.0.0.1:6379> get userid
"111111\x00\x00bb"
127.0.0.1:6379> 

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

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> append userid 222
(integer) 9
127.0.0.1:6379> get userid
"111111222"

6 getrange key start stop
作用: 是获取字符串中 [start, stop]范围的值
注意:
1对于字符串的下标,左数从0开始,右数从-1开始
2: start>=length, 则返回空字符串
3: stop>=length,则截取至字符结尾
4: 如果start >stop, 返回空字符串

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> set userid 123456
OK
127.0.0.1:6379> getrange userid 0 2
"123"
127.0.0.1:6379> getrange userid -3 -1
"456"
127.0.0.1:6379> getrange userid 0  -1
"123456"

7 getset key newvalue
作用: 获取并返回旧值,设置新值,相当于先做get操作,后做set操作

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> getset userid 222222
"111111"
127.0.0.1:6379> get userid
"222222"

8 incr key
作用: 指定的key的值加1,并返回加1后的值
注意:
范围为64有符号

---不存在的key当成0,再incr操作
127.0.0.1:6379> incr aa
(integer) 1
127.0.0.1:6379> get aa
"1"
--incr key操作
127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379>  incr userid
(integer) 111112

9 incrby key n
指定的key的值加n,并返回加n后的值

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> incrby userid 10
(integer) 111121

10 incrbyfloat key floatnumber
指定的key的值加floatnumber,并返回加floatnumber后的值

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> incrbyfloat userid 5.5
"111116.5"

11 decr key
指定的key的值减1,并返回加1后的值

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> decr userid 
(integer) 111110

12 decrby key n
指定的key的值减n,并返回加n后的值

127.0.0.1:6379> set userid 111111
OK
127.0.0.1:6379> decrby userid 11
(integer) 111100

13 getbit key offset
作用:从值的二进制表示,返回对应offset位上的值(从左到右)
例如A–0100 0001

127.0.0.1:6379> set char A
OK
127.0.0.1:6379> getbit char 0
(integer) 0
127.0.0.1:6379> getbit char 1
(integer) 1
127.0.0.1:6379> getbit char 2
(integer) 0
127.0.0.1:6379> getbit char 3
(integer) 0

14 setbit key offset value
设置offset对应二进制位上的值为value,返回该位上的旧值
注意:
1:如果offset过大,则会在中间填充0,
2offset最大2^32-1,最大的的字符串为512M

例如A–0100 0001

127.0.0.1:6379> set char A
OK
127.0.0.1:6379> setbit char 2  1
(integer) 0
127.0.0.1:6379> get char
"a"

15 bitop operation destkey key1 [key2 …]
对key1,key2..keyN作operation,并将结果保存到 destkey 上。
operation 可以是 AND 、 OR 、 NOT 、 XOR
注意: 对于NOT操作, key不能多个

设置一个userid1 的二进制位0010 0000

127.0.0.1:6379> setbit userid1 7 0
(integer) 0
127.0.0.1:6379> setbit userid1 2 1
(integer) 0

设置一userid2为A对应的二进制位0100 0001

127.0.0.1:6379> set userid2 A
OK

对userid1和userid2做or操作

127.0.0.1:6379> bitop or return userid1 userid2
(integer) 1
127.0.0.1:6379> get return
"a"
posted on 2017-06-13 13:09  2637282556  阅读(204)  评论(0编辑  收藏  举报