Redis-Key
key * #查看所有的key
EXISTS NAME #判断当前的key是否存在
move name #移除当前的key
EXPIRE name 10 #设置key的过期时间,单位是秒。
name #查看当前key的剩余时间
type name #查看当前key的一个类型!
String(字符串)
set key1 v1 #设置值
get key1 #获得值
keys * #获得所有的key
APPEND key1 “hello” #追加字符串,如果当前key不存在,就相当于setkey
set views 0 #初始浏览量为0
incr views #自增1 浏览量变为1
decr views #自减1 浏览量变为0
INCRBY views 10 #可以设置步长,指定增量!
字符串范围:range
set key1 “hello,world” # 设置key1的值
GETRANGE key1 0 3 # 截取字符串 [ 0,3 ]
GETRANGE key1 0 -1 #获取全部的字符串 和 get key是一样的
#替换!
SETRANGE key2 1 xx #替换指定位置开始的字符串!
#setex (set with expire) #设置过期时间
#setnx(set if not exist) #不存在在设置(在分布式锁中会常常使用!)
setex key3 30 “hello” #设置key3的值为hello,30秒后过期
setnx mykey “redis” #如果mykey不存在,创建mykey
setnx mykey “MongoDB” #如果mykey存在,创建失败!
mset k1 v1 k2 v2 k3 v3 #同时设置多个值
mget k1 k2 k3 #同时获取多个值
msetnx k1 v1 k4 v4 #msetnx是一个原子性的操作,要么一起成功,要么一起失败!
#对象
set user : 1 { name : zhangsan,age : 3 } #设置一个user:1对象 值为json字符来保存一个对象!
#这里的key是一个巧妙的设计: user:{id}:{field} , 如此设计在redis中是完全ok 了!
getset #先get然后再set
getset db redis #如果不存在值,则返回nil
getset db mongodb #如果存在值,获取原来的值,并设置新的值
String类似的使用场景:value除了是我们的字符串还可以是我们的数字!
. 计数器
统计多单位的数量
粉丝数
对象缓存存储!