Redis五大基本数据类型String练习笔记

String(字符串)

#######################################################################
127.0.0.1:6379> keys *
1) "age"
127.0.0.1:6379> set name xuxu
OK
127.0.0.1:6379> keys *
1) "age"
2) "name"
127.0.0.1:6379> type name
string
127.0.0.1:6379> FLUSHALL
OK
127.0.0.1:6379> set k1 v1
OK
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> APPEND k1 ",xuxu"
(integer) 12
127.0.0.1:6379> get k1
"v1hello,xuxu"
127.0.0.1:6379> APPEND k2 "xuxu" #如果不存在就自动追加
(integer) 4
127.0.0.1:6379> keys *
1) "k2"
2) "k1"
#######################################################################
127.0.0.1:6379> set view 0
OK
127.0.0.1:6379> get view
"0"
127.0.0.1:6379> incr view #自增
(integer) 1
127.0.0.1:6379> incr view
(integer) 2
127.0.0.1:6379> incr view
(integer) 3
127.0.0.1:6379> incr view
(integer) 4
127.0.0.1:6379> get view
"4"
127.0.0.1:6379> decr view #自减
(integer) 3
127.0.0.1:6379> get view
"3"
127.0.0.1:6379> get view
"3"
127.0.0.1:6379> incrby view 10 #自增10
(integer) 13
127.0.0.1:6379> get view
"13"
127.0.0.1:6379> decrby wiew 5 #自减5 因为这个keys不存在所以自动创建
(integer) -5
127.0.0.1:6379> get view
"13"
#######################################################################
127.0.0.1:6379> set k1 "hello xuxu"
OK
127.0.0.1:6379> get k1
"hello xuxu"
127.0.0.1:6379> getrange k1 0 3 #获取前4位字符串
"hell"
127.0.0.1:6379> getrange k1 0 -1 #获取全部字符串
"hello xuxu"
# 替换
127.0.0.1:6379> set k2 abcdef
OK
127.0.0.1:6379> get k2
"abcdef"
127.0.0.1:6379> setrange k2 1 xxx #在第二个开始修改3个字符串
(integer) 6
127.0.0.1:6379> get k2
"axxxef"
#######################################################################
127.0.0.1:6379> set k3 haha
OK
127.0.0.1:6379> get k3
"haha"
127.0.0.1:6379> setex k3 40 tttt #如果存在设置过期时间还可以覆盖其值
OK
127.0.0.1:6379> ttl k3
(integer) 35
127.0.0.1:6379> get k3
"tttt"
127.0.0.1:6379> setnx k4 hhhh #不存在设置(分布式锁常常使用)
(integer) 1
127.0.0.1:6379> setnx k4 hhhh #如果存在是设置不进去的
(integer) 0
127.0.0.1:6379> ttl k3
(integer) -2
#######################################################################
# 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 v1 k4 v4 #具有原子性(一起成功或者一起失败)
(integer) 0
127.0.0.1:6379> keys *
1) "k3"
2) "k2"
3) "k1"

#对象
set user:1{name:xuxu,gae:18} #设置一个user:1对象值为json字符串

#这里的key是一个巧妙地设计 user:{id}:{filed}
127.0.0.1:6379> mset user:1:name xuxu user:1:age 18
OK
127.0.0.1:6379> mget user:1:name user:1:age
1) "xuxu"
2) "18"
#######################################################################
#getset
127.0.0.1:6379> getset db redis #一开始没有值get不到
(nil)
127.0.0.1:6379> get db #执行之后可以获取
"redis"
127.0.0.1:6379> getset db mongodb #先get在修改
"redis"
127.0.0.1:6379> get db
"mongodb"
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小徐404

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

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

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

打赏作者

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

抵扣说明:

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

余额充值