Redis(6)五大数据类型之String类型

String类型

1.追加字符串与获取字符串长度:append 与 strlen

127.0.0.1:6379> set name liuqing
127.0.0.1:6379> append name "hello" #如果字符存在,就追加
(integer) 12
127.0.0.1:6379> strlen name
(integer) 12
127.0.0.1:6379> get name
"liuqinghello"
127.0.0.1:6379> append key1 "zhangshan" #如果字符不存在 ,就创建一个
(integer) 9
127.0.0.1:6379> keys *
1) "name"
2) "key1"

2.自增 与自减 :incr 与 decr

127.0.0.1:6379> set views 0
OK
127.0.0.1:6379> get views
"0"
127.0.0.1:6379> incr views #加一
(integer) 1
127.0.0.1:6379> incr views #加一
(integer) 2
127.0.0.1:6379> get views #查看结果
"2"
127.0.0.1:6379> decr views #减少一
(integer) 1
127.0.0.1:6379> decr views #减少一
(integer) 0
127.0.0.1:6379> get views  #查看结果
"0"

3.步长的自增与自减少 :incrby 与 decrby

127.0.0.1:6379> incrby views 10
(integer) 10    
127.0.0.1:6379> incrby views 10
(integer) 20
127.0.0.1:6379> decrby views 10
(integer) 10
127.0.0.1:6379> decrby views 10
(integer) 0

4.替换与截取:setrange 与 getrange

127.0.0.1:6379> get name
"liuqinghello"
127.0.0.1:6379> getrange name 3 6
"qing"
127.0.0.1:6379> setrange name 7 ok
(integer) 12
127.0.0.1:6379> get name #将下标为7的字符替换为 ok了
"liuqingokllo"

5.setex 与 setnx

127.0.0.1:6379> setex key1 10 "hello" #设置过期时间
OK
127.0.0.1:6379> ttl key1 #查看剩余的时间
(integer) 4
127.0.0.1:6379> get key1 #过期后key1不存在
(nil)
127.0.0.1:6379> get key1
(nil)
127.0.0.1:6379> setnx mykey "redis" # 如果不存在则创建
(integer) 1
127.0.0.1:6379> keys * #创建一个key mykey
1) "views"
2) "name"
3) "mykey"
127.0.0.1:6379> setnx mykey "MongoDB" #如果存在,则创建失败,不会被覆盖
(integer) 0
127.0.0.1:6379> get mykey #值还是redis 没改变
"redis"

6.同时设置获取多个值:mset 与mget

127.0.0.1:6379> mset k1 v1 k2 v2 k3 v3
OK
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"
127.0.0.1:6379> mget k1 k2 k3
1) "v1"
2) "v2"
3) "v3"
127.0.0.1:6379> msetnx k1 v3 k4 v4 #msetnx 上述的setnx 相似,存在就创建失败。(同时成功 ,同时失败,保证了原子性)
(integer) 0
127.0.0.1:6379> keys *  #查看结果 k4 没有
1) "k3"
2) "k2"
3) "k1"

7.对象
user:1:name "liuqing":表示user 对象 id为1 的name属性 值为 liuqing
user:1:age 2 :表示user 对象 id为1 的age属性 值为 2

127.0.0.1:6379> mset user:1:name "liuqing" user:1:age 2
OK
127.0.0.1:6379> keys * # 查看key发现还是普通key-value 键值对,只是key含义不同
1) "k2"
2) "user:1:name"
3) "user:1:age"
4) "k1"
5) "k3"
127.0.0.1:6379> mget user:1:age user:1:name
1) "2"
2) "liuqing"

8.getset

127.0.0.1:6379> getset k2 redis #先获取后设置值
"v2"
127.0.0.1:6379> getset k2 mongodb 
"redis"
127.0.0.1:6379> get k2
"mongodb"
127.0.0.1:6379> 

9.String 类型的使用场景

  • 计数器
  • 粉丝数
  • 对象缓存存储
  • 统计多单位下的数量
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值