Redis中String字符串常用操作

String字符串

基本命令

  • 设置指定key的值 set key value
set name tom 
  • 获取指定key的值 get key
get name
  • 删除指定key的值 del key…(可多个key),返回成功条数
del name
  • 先取值后塞值 getset key value
set name tom
getset name jack  //返回tom
  • 先取值后塞值 getset key value
set name tom
getset name jack  //返回tom
  • 追加值 append key value ;如果 key 已经存在,则直接在对应的 value 后追加值否则就创建新的键值对
append name 01 //返回值是value的长度
get name // jack01
  • 是否存在key exists key
exists tom //存在返回1,否返回0
  • 是否存在key exists key
exists tom //存在返回1,否返回0

前置操作

127.0.0.1:6379> set k1 we
OK
127.0.0.1:6379> set k2 rng
OK
127.0.0.1:6379> set k3 3
OK
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
3) "k3"

-decr key 对value的值-1,如果value不为数字,则报错

127.0.0.1:6379> decr k1
(error) ERR value is not an integer or out of range
127.0.0.1:6379> get k3
"3"
127.0.0.1:6379> decr k3
(integer) 2
  • decrby key 指定步长的减少,key后跟减少的数字
127.0.0.1:6379> decrby k3 2
(integer) 0

  • getrange key start end 返回子串,-1表示最后一个,以此类推
127.0.0.1:6379> set k1 helloWord
OK
127.0.0.1:6379> get k1
"helloWord"
127.0.0.1:6379> getrange k1 0 2
"hel"
127.0.0.1:6379> getrange k1 0 -1
"helloWord"
127.0.0.1:6379> getrange k1 -2 -1
"rd"

  • incr与decr相反,对value执行+1,如果key不存在会默认value为0然后+1,如果value不是数字则报错
127.0.0.1:6379> get k3
"0"
127.0.0.1:6379> decr k3
(integer) -1
127.0.0.1:6379> incr k3
(integer) 0
127.0.0.1:6379> get k4
(nil)
127.0.0.1:6379> incr k4
(integer) 1

  • incrby 指定步长的增加,与decrby相反
127.0.0.1:6379> incrby k3 5
(integer) 5
127.0.0.1:6379> get k3
"5"

  • incrbyfloat key value 增加浮点数;没有对应的减少操作
127.0.0.1:6379> incrbyfloat k3 0.2
"5.2"

-批量设置值和获取值mset ,mget

127.0.0.1:6379> mset k1 helloWord k2 java k3 python
OK
127.0.0.1:6379> mget k1 k2 k3
1) "helloWord"
2) "java"
3) "python"

-setex key second value 给key设置value并设置过期时间,相当于先给key设置value,再设置过期时间;set key value;expire key seconds

127.0.0.1:6379> setex k5 60 C++
OK
127.0.0.1:6379> ttl k5
(integer) 55
#####################
127.0.0.1:6379> set k6 C
OK
127.0.0.1:6379> expire k6 40
(integer) 1
127.0.0.1:6379> ttl k6
(integer) 37

-psetex 与setex相同只不过设置时间为毫秒

127.0.0.1:6379> psetex k5 6000 123456
OK
127.0.0.1:6379> pttl k5
(integer) 1730

-setnx 相当于set if not exists ;如果key存在不做操作,如果key不存在相当于set

127.0.0.1:6379> get k7
(nil)
127.0.0.1:6379> setnx k7 C#
(integer) 1
127.0.0.1:6379> get k7
"C#"

-msetnx 批量设置值,若果有一个key已经存在则都不执行

127.0.0.1:6379> mset k1 123 k7 123 k8 123
OK
127.0.0.1:6379> msetnx k8 321 k9 123
(integer) 0
127.0.0.1:6379> get k8
"123"

-覆盖已经存在key的value,如果已经存在的key的value长度小于offset,则不足的地方用0补齐

127.0.0.1:6379> set k1 helloWorld
OK
127.0.0.1:6379> get k1
"helloWorld"
127.0.0.1:6379> setrange k1 5 XXXXXX
(integer) 11
127.0.0.1:6379> get k1
"helloXXXXXX"
127.0.0.1:6379> setrange k1 14 YYY
(integer) 17
127.0.0.1:6379> get k1
"helloXXXXXX\x00\x00\x00YYY"
127.0.0.1:6379>

-计算value的长度strlen key

127.0.0.1:6379> strlen k1
(integer) 17
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值