1、基本数据结构
# 基本设置获取
set name1 v1
get name1
exists name1
del name1
# 批量
mset name1 v1 name2 v2 name3 v3
mget name1 name2 name3
# 过期时间设置
expire name1 5
setex name4 5 v4
# 数字操作
set num 10
incr num
incrby num 10
decr num
decrby num 10
# 集合 list
rpush books python java golang
lpop books
rpop books
llen books
lindex books 1(获取给定位置的元素)
lrange books 0 -1(获取所有)
# 集合 hash
hset sets key1 value1
hlen sets
hgetall sets
hget sets key1
# 集合 set
sadd sets aa bb cc dd ee ff
smembers sets
sismember sets cc
scard sets(获取长度)
spop sets(弹出一个)
srem sets cc
# 集合 zset
zadd sets 9 aa
zrange sets 0 -1
zrevrange sets 0 -1(逆序排列)
zcard sets(获取长度)
zscore sets aa(获取分数)
2、分布式锁
# 举例方式,如果不存在创建,并设置10s过期
setnx lock:aa true
expire lock:aa 10
# 原子方式,不要执行较长时间的任务
set lock:aa true ex 5 nx
3、消息队列
- 使用 rpush、lpop 或者 lpush、rpop 来操作
# 入队
rpush queue aa bb cc dd
# 普通读取
lpop queue
# 阻塞读取,阻塞 5 秒
blpop queue 5
4、延时队列
- 使用 zset,value 代表数据,score 代表时间