redis常用的数据类包含一下5种
string
hash
list
set
sorted set
主要的命令使用方式和应用场景
STRING [字符]
get
set
setex
getnx
getrange
setrange
getset
mget
mset
incr
decr
incrby
decrby
append
strlen
应用场景: 访问人数, IP封禁黑名单等计数应用, session
HASH [哈希]
hget
hset
hsetnx
hmset
hmget
hincrby
hexists
hlen
hdel
hkeys
hvals
hgetall
应用场景: 结构化的对象信息,比如用户信息,每个hash表都存储一个对象实例,键值对即为对象属性
LIST [链表]
lpush
rpush
lrange
linsert
lset
lrem
ltrim
lpop
rpop
rpoplpush
lindex
llen
应用场景: 消息队列,多机日志收集,如果一个服务的运行流程在多个服务器传递,该服务的日志可以顺序写入list,再用一个work统一写入磁盘
SET [无序集合]
sadd
srem
smembers
srem
spop
sdiff
sdiffstore
sinter
sinterstore
sunion
sunionstore
smove
scard
sismember
srandmember
应用场景: 黑盒抽奖,社交系统的共同好友和你可能认识
SORTED SET [有序集合] 集合成员多了一个权重属性score,方便集合进行权重排序
zadd
zrange
zincrby
zrank
zrevrank
zrevrange
zrangebyscore
zcount
zcard
zremrangebyrank
zremrangebyscore
应用场景: 具有优先级的任务队列,成绩排名(选手ID为元素,成绩为权重)
参考文章: https://zhuanlan.zhihu.com/p/24054727