Redis中五种数据类型的常用数据操作之String类型

String类型

  1. 添加字符串:set key value
    127.0.0.1:6379> set uname admin
    OK
    
  2. 查看字符串:get key
    127.0.0.1:6379> get uname
    "admin"
    
  3. 查看指定key对应的值的长度:strlen key
    127.0.0.1:6379> strlen uname
    (integer) 5
    
  4. 截取字符串:getrange key start end
    127.0.0.1:6379> getrange uname 0 -1 # 第一个带倒数第一个
    "admin"
    127.0.0.1:6379> getrange uname 0 3  # 第一个到第四个
    "admi"
    127.0.0.1:6379> getrange uname 0 -2 # 第一个到倒数第二个
    "admi"	
    
  5. 覆盖字符串的某一部分:setrange key start replaceVal
    127.0.0.1:6379> setrange uname 1  W
    (integer) 5
    127.0.0.1:6379> get uname
    "aWmin"
    127.0.0.1:6379> setrange uname 1  123
    (integer) 5
    127.0.0.1:6379> get uname
    "a123n"
    
  6. 设置过期时间:expire key seconds
    127.0.0.1:6379> getrange uname 0 -1 # 第一个带倒数第一个
    "admin"
    127.0.0.1:6379> getrange uname 0 3  # 第一个到第四个
    "admi"
    127.0.0.1:6379> getrange uname 0 -2 # 第一个到倒数第二个
    "admi"	
    
  7. 设置键值对的同时,指定过期时间:setex key second value
    127.0.0.1:6379> setex upwd 10  123456 
    OK
    127.0.0.1:6379> ttl upwd  # 查看过期时间
    (integer) 7
    127.0.0.1:6379> get upwd 
    "123456"
    127.0.0.1:6379> ttl upwd  # 已过期
    (integer) -2
    127.0.0.1:6379> get upwd  # 查询为空
    (nil)
    
  8. setnx key value 指定的键值不存在时,才能成功完成本次操作,且返回1如果键值已经存在,则返回0
    127.0.0.1:6379> setnx upwd 123456
    (integer) 1
    127.0.0.1:6379> setnx uname tom  # uname 已存在
    (integer) 0
    
  9. 批量添加key value:mset key value [key value …]
    127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
    OK
    
  10. 批量取出值:mget key [key …]
    127.0.0.1:6379> mget k1 k2 k3
    1) "v1"
    2) "v2"
    3) "v3"
    
  11. 判断是否存在后添加:msetnx key value [key value …]
    注意在msetnx时,如果一部分键存在,一部分键不存在,则整个操作都是失败的!
    127.0.0.1:6379> msetnx k1 v1 k4 v4 k5 v5
    (integer) 0
    127.0.0.1:6379> msetnx k4 v4 k5 v5
    (integer) 1
    127.0.0.1:6379> mget k4 k5
    1) "v4"
    2) "v5"
    
  12. 获取key的值,然后重新赋值:getset key value
    127.0.0.1:6379> set age 18
    OK
    127.0.0.1:6379> getset age 28
    "18"
    127.0.0.1:6379> get age
    "28"
    
  13. 将key的value原子性地递增1:incr key
    如果key不存在,其初始值为0,再incr之后其值为1。如果value的值不能转型成整型,如“hello”,该操作将执行失败并返回相应的信息。
    127.0.0.1:6379> incr age
    (integer) 29
    127.0.0.1:6379> incr price
    (integer) 1
    127.0.0.1:6379> incr uname
    (error) ERR value is not an integer or out of range
    
  14. 将key的value原子性地递减1:decr key
    如果key不存在,其初始值为0,再decr之后其值为-1。如果value的值不能转型成整型,如“hello”,该操作将执行失败并返回相应的信息。
    127.0.0.1:6379> incr age
    (integer) 29
    127.0.0.1:6379> incr price
    (integer) 1
    127.0.0.1:6379> incr uname
    (error) ERR value is not an integer or out of range
    
  15. 拼凑字符串:append key value
    如果该key存在,则在原有的value后追加该值,如果该key不存在,则重新创建一个key/value
    127.0.0.1:6379> append uname tom
    (integer) 8
    127.0.0.1:6379> get uname
    "a123ntom"
    127.0.0.1:6379> append age 10
    (integer) 4
    127.0.0.1:6379> get age
    "2910"
    127.0.0.1:6379> append num 50
    (integer) 2
    127.0.0.1:6379> get num
    "50"
    
  16. 将key值增加一个数:incrby key increment
    127.0.0.1:6379> incrby num 15
    (integer) 65
    
  17. 将key值减少一个数:decrby key decrement
    127.0.0.1:6379> decrby num 10
    (integer) 55
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HDawnn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值