redis的8大参数:
String、hash、list、set、zset、bitmaps、hyperloglogs、streams
String
应用场景:微信点赞、阅读量
新建:set key value
set myid 2
增加:incr myid 1 (如果是微信点赞,myid表示自己的微信id,1代表点赞的数量,而不是点赞者的id)
减少:decr myid 2(减2)
hash
应用场景:购物车
新建:hset key field value
hset good:sell 1001 2(表示商品编号位1001的数值为2)
增加:hincrby good:sell 1001 3
减少:hdecr good:sell 1002 2
显示商品总数:hlen good:sell (没有hcount)
全选:hgetall good:sell
list
应用场景:微信文章订阅号
左添加:lpush myid 11(将订阅号id为11的文章左添加到我的微信id上)
右添加:rpush myid 12
set
应用场景:
1.抽奖小程序
2.QQ推荐好友(可能认识的人)
3.微博共同关注
4.微信朋友圈点赞(不光是点赞数,还会显示用户)
抽奖小程序:
立即参与(添加):sadd chou:sell 2(2代表用户id)
删除:srem chou:sell 1
scard chou:sell 显示数量
smembers chou:sell 显示所有用户(包括信息,不止是数量)
sismember chou:sell 2(判断用户id为2的用户是否再其中)
srandmember chou:sell 2 随机抽取2个元素(不删除)
spop chou:sell 3 随机抽取3个元素(删除)
微信共同关注:
sinter s1 s2
可能认识的人:
sdiff s1 s2
zset
应用场景:热搜、微博关注人按时间关注排序
排序(在set的基础上)
添加:zadd good:sell 12 1001(这里商品编号写在最后,与前面几个参数不同)
删除:zrem good:sell 2 1002
例如:抖音热搜
zrange hot:vcr 0 12(取出前12个从小到大排序的访问量)
zcount hot:vcr 0 12(获取指定范围内的元素个数)
zcard hot:vcr (获取热搜的数量)
zscore hot:vcr 山河令 (获取山河令的排序)
zincrby hot:vcr 30 山河令
获取元素的排名:
从小到大:zrank hot:vcr 0 9 withscores
从大到小:zrevrange hot:vcr 0 9 withscores(获取最高的前9个值)