redis字符串string类型的操作


redis的SET命令是用来设置在redis键部分的字符串值。


下面是我记录了大部分常用的字符串操作的命令:

set key value [ex 秒数]/[px 毫秒数] [nx]/[xx]

如:set a 1 ex 10,10秒有效

注:如果ex px同时写,以后面有效期为准

nx:表示key不存在时,执行操作

xx:表示key存在时,执行操作


mset multi set 

一次性设置多个键值

如: 

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


mget key1 key2 ...keyn

一次性获取多个键值


setrange key offset value

把字符串的offset偏移字节改成value

如:

127.0.0.1:6379> get a
"aaa"
127.0.0.1:6379> setrangea 1 w
(error) ERR unknown command 'setrangea'
127.0.0.1:6379> setrange a 1 w
(integer) 3
127.0.0.1:6379> get a
"awa"

如果偏移量>字符长度,那么自动补0x00


append key value

将value追加到key的原值上


getrange key startindex endindex

对于字符串的下标,左数从0开始,右数从-1开始

127.0.0.1:6379> set title chinese
OK
127.0.0.1:6379> getrange title 0 3
"chin"
127.0.0.1:6379> getrange title 0 -2         //注意,获取都是从字符串首部开始,到指定的下标
"chines"

注意:

1.start>=legth,则返回空字符串

2.stop>=length,则截取至字符结尾

3.如果start所处位置在stop右边,则返回空字符串


getset key newvalue

获取并返回旧值,并设置新值

127.0.0.1:6379> set status sleep
OK
127.0.0.1:6379> getset status weakup
"sleep"
127.0.0.1:6379> get status
"weakup"


incr key

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

同理decr key 减1

注意:

1.不存在的key当成0,再incr操作

2.范围为64,有符号


incrby key num

指定的key加num

同理decrby key num,减去num


incrbyfloat key floatnum

指定的key增加浮点数


setbit key offset value

设置offset对应二进制位上的值,返回该位上的旧值

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"

注意:

1.如果offset过大,则会在中间填充0

2.offset最大为2^32-1位,即512M


bitop operation destkey key1 [key2 ...]

对于key1,key2,key作位运算,并将结果保存到destkey上。opearation可以是AND、OR、NOT、XOR

127.0.0.1:6379> setbit lower 2 1     //通过设置lower,让大写的和lower做或操作,大写会转变为小写
(integer) 0
127.0.0.1:6379> set char Q
OK
127.0.0.1:6379> bitop or char char lower
(integer) 1
127.0.0.1:6379> get char
"q"


你可能感兴趣的:(数据库)