Redis五大数据类型
String、List、Set、Hash、Zset
Redis-Key是什么?
EXISTS a //判断key a是否存在
move name 1 //移除当前数据库中的 name
EXPIRE name 10 // 设置元素10秒中后过期
ttl name // 查看name剩余的过期时间
type name // 查看当前key的类型
String 类型:
append name uiop // 在name后面加上"uiop"
STRLEN name //获取字符串name的长度
incr value//使value+1
decr value//使value-1
incrby value 10 //使得value加10
dicrby value 10//使得value减10
GETRANGE i 2 4 //获取字符串i的第三个到第五个字符
GETRANGE i 0 -1 //获取字符串i所有的字符.
SETRANGE i 2 zxc //替换指定位置的字符串 把“zxc”放到字符串i后面第2个字符后面并覆盖第3个字符
set i 123456
get i //123456
SETRANGE i 2 zxc//6(返回字符串长度)
get i //12zxc6
setex(set with expire )#设置过期时间
setex names 10 "一二三"//设置names的值为“一二三“并且在10秒后过期
setnx(set if not exist)#不存在时可以设置(在分布式锁中常用)
mset k1 v1 k2 v2 k3 v3 k4 v4//批量进行set操作
mget k1 k2 k3 k4//批量进行get操作
msetnx k1 v1 k2 v2 k3 v3 k4 v4//批量进行msetnx操作 msetnx是原子性操作 要么一起成功要么一起失败
set student:1 {name:zhangsan,age:2}//设置一个user:1 对象 值为json字符来保存一个对象!
getset//先get再set
------------------
getset db r//nil
getset db a//r
getset db l//a
Spring类型的使用场景:value除了是字符串还可以是数字
·计数器
·统计多单位数量
·对象缓存存储