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除了是我们的字符串还可以是我们的数字!

. 计数器
统计多单位的数量
粉丝数
对象缓存存储!