二:Redis:String字符串类型详解

  1. 追加字符串 ,查看字符串长度
127.0.0.1:6379> set k1 v1 #设置值
OK
127.0.0.1:6379> get k1 #获得值
"v1"
127.0.0.1:6379> keys *
1) "k1"
127.0.0.1:6379> append k1 hello #向某个字符串后面追加字符串,返回追加后的长度
(integer) 7
127.0.0.1:6379> get k1
"v1hello"
127.0.0.1:6379> strlen k1 #查看字符串长度
(integer) 7
127.0.0.1:6379>
  1. 设置自增或自减(浏览量)
127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> incr views #设置每次自增
(integer) 1
127.0.0.1:6379> incr views
(integer) 2
127.0.0.1:6379> incr views
(integer) 3
127.0.0.1:6379> decr views #设置每次自减
(integer) 2
127.0.0.1:6379> decr views
(integer) 1
127.0.0.1:6379> incrby views 10 #设置每次自增10
(integer) 11
127.0.0.1:6379> incrby views 5
(integer) 16
127.0.0.1:6379> decrby views 8 #设置每次自减8
(integer) 8
127.0.0.1:6379>
  1. 查询替换指定范围内的字符串
127.0.0.1:6379> set name wangchangjun
OK
127.0.0.1:6379> getrange name 0 5 #截取0-5的字符串的值
"wangch"
127.0.0.1:6379> getrange name 0 -1 #0-(-1)代表截取全部字符串的值
"wangchangjun"
127.0.0.1:6379> setrange name 1 123 #从指定位置替换字符串
(integer) 12
127.0.0.1:6379> getrange name 0 -1 #替换后查询
"w123changjun"
127.0.0.1:6379>
  1. setex(set with expire):设置过期时间
    setnx(set if not exit):如果不存在就设置(分布式锁)
127.0.0.1:6379> setex k2 30 "Hello,World" #设置可k2值30秒后过期
OK
127.0.0.1:6379> ttl k2 #查询剩余时间20秒
(integer) 20
127.0.0.1:6379> get k2
"Hello,World"
127.0.0.1:6379> ttl k2
(integer) -2
127.0.0.1:6379> get k2 #过期后查询
(nil)
127.0.0.1:6379> setnx  k3 "!!"  #设置k3
(integer) 1
127.0.0.1:6379> get k3
"!!"
127.0.0.1:6379> setnx k3 "222" #设置k3(k3已存在则设置失败)
(integer) 0
127.0.0.1:6379> get k3
"!!"
  1. 批量设置值
127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3 k4 v4 #批量设置值
OK
127.0.0.1:6379> mget k1 k2 k3 k4 #批量获取值
1) "v1"
2) "v2"
3) "v3"
4) "v4"
127.0.0.1:6379> msetnx k1 11 k5 v5 #若批量设置的值重存在已创建的key,则设置失败
(integer) 0
127.0.0.1:6379> get k5 #查看 
(nil)
127.0.0.1:6379>


#设置对象,利用组合key的方式设置一个对象的属性 key:(user:序号:属性)value:(属性值)
127.0.0.1:6379> mset user:1:name wangchangun user:1:age 23
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "wangchangun"
2) "23"
127.0.0.1:6379>

#先get后set
127.0.0.1:6379> getset database mysql #先获取database的值,如果没有则设置
(nil)
127.0.0.1:6379> get database #查询 当前为mysql
"mysql"
127.0.0.1:6379> getset database oracle #当前get的是mysql,存在则设置成Oracle
"mysql"
127.0.0.1:6379> get database #查询
"oracle"
127.0.0.1:6379>

小结:
string应用场景:计数器,统计多单位的数量

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值