redis string的各种操作

上一篇讲了redis的keys操作。这一波来讲下string的各种操作。

1.set key value

> set a 1
OK

2.get key

> get a
"1"

3.incr key

> incr a
(integer) 2
> get a
"2"

只能对整数进行操作,小数也不行
> set b b
OK
> incr b
(error) ERR value is not an integer or out of range

4.incrby key increment

> get a
"2"
> incrby a 6
(integer) 8

5.decr key

> decr a
(integer) 7

6.decrby key decrement

> decrby a 2
(integer) 5

7.incrbyfloat key increment

> incrbyfloat a 0.5
"5.5"

 注意:
1.有incrbyfloat,却没有decrbyfloat
2. 变成小数后,incr/decr 的各种操作都不管用了,

> decrbyfloat a 0.5
(error) ERR unknown command `decrbyfloat`, with args beginning with: `a`, `0.5`, 
> decrby a 0.5
(error) ERR value is not an integer or out of range
> get a
"5.5"
> decr a
(error) ERR value is not an integer or out of range
> incr a
(error) ERR value is not an integer or out of range
> incrbyfloat a 0.5
"6"
> decr a
(integer) 5

8.setnx key value

不存在才设置

> get a
"5"
> setnx a 55
(integer) 0
> get a
"5"

9.set key value xx

存在才设置

> keys *
1) "a"
2) "b"
> set c c xx
(nil)
> get c
(nil)
> get b
"b"
> set b abc xx
OK
> get b
"abc"

10.getset key value

设置新值,并返回老值。只针对存在的key有效

> getset b abcde
"abc"
> get b
"abcde"
> getset c c
(nil)

11.append key value

向字符串后面追加字符串

> append b fg
(integer) 7
> get b
"abcdefg"

12.strlen key

获取字符串长度,注意一个汉字占三个字节

> strlen b
(integer) 7
> set c 你好
OK
> strlen c
(integer) 6

13.getrange key start end

获取指定范围的值

> get b
"abcdefg"
> getrange b 2 4
"cde"

14.setrange key offset value

设置指定位置的值,新值太长的时候,会往后覆盖/延长

setrange b 4 z
(integer) 7
> get b
"abcdzfg"
> setrange b 5 xw
(integer) 7
> get b
"abcdzxw"
> setrange b 5 xwy
(integer) 8
> get b
"abcdzxwy"

15.mset key1 value1 key2 value2 ……

> mset a a b b c c
OK

16.mget key1 key2 ……

> mget a b c
1) "a"
2) "b"
3) "c"

mset 和 mget 的最终效果和多次单独的set,get 效果一样。但是mset,mget 能节约网络传输时间。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值