【Redis】String常用命令

String适用场景

 既可以是字符串,也可以是数字

        1.计数器

        2.统计多单位的数量

        3.粉丝数

        4.对象缓存存储

1.字符串拼接

APPEND name 456    #将name的值后面拼接456
                    #如果本身键值对不存在,则会创建一个键为name,值为456的新的键值对
(integer) 6    #返回拼接完后的总长度(拼接前name的长度为3)

2.获取字符串长度

STRLEN name
(integer) 6    #长度为6

3.自增

默认自增为1

incr values
(integer) 2    #自增后的值为2

4.自减

decr values 
(integer) 1    #自减后的值为1

5.设置自增步长

INCRBY values 10
(integer) 11    #加完后为10
incr values
(integer) 12    #只能持续一次,不是每次都是按照10来增加

6.设置自减步长

DECRBY value 10
(integer) -10
#同上也是只能持续一次

7.获取字符串区间

GETRANGE name 0 3    #[0,3]端点包括,是闭区间
GETRANGE name 0 -1    #获取整个值的长度

8.修改指定区间的数据

GETRANGE name 0 -1
"hello,world"
SETRANGE name 4 123        #从name下标为4开始修改,替换后面长度为3的数据(因为“123”的长度为3)
(integer) 11
get name
"hell123orld"

9.设置一个键值对并指定过期时间

SETEX name2 30 hello     #设置键为name2值为hello的键值对,并将过期时间设为30s
#如果本身就有这个键值对了,那么则会覆盖

10.在设置之前判断值是否存在,不存在创建,存在就不创建(分布式锁中常用)

SETNX name 456
(integer) 0    #本身就有了,不成功
SETNX name2 456
(integer) 1    #本身有,成功

11.批量设置值

mset k1 v1 k2 v2 k3 v3 
keys *
1) "k3"
2) "name"
3) "name2"
4) "k2"
5) "k1"

12.批量获取值

 mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"

13.批量设置值并判断是否存在

与10结合

MSETNX name name1 name2 name
(integer) 0    #本身都有

14.使用mset设置对象

mset user:1:name zhangsan user:1:age 2
#此代码相当于设置了一个user对象,id为1,其中name属性为zhangzsan,age属性为2
#格式为 对象名:id:属性键 属性值

15.使用mget查找对象

mget user:1:name user:1:age
1) "zhangsan"
2) "2"
#使用规则 对象名:id:键 值

16.getset

 GETSET name 123     #get➕set,相当于先get再set

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值