# 抽奖
# 参加活动抽奖
SADD key userId
#查看所有抽奖的用户
SMEMBERS key
#抽奖count个人
SRANDMEMBER key [count]
SPOP key [count] #pop删除
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
# 点赞,收藏,标签
#点赞
SADD like:1 userId
#取消点赞
SREM like:1 userId
#检测是否点过赞
SISMEBER like:1 userId
#获取点赞用户列表
SMEMBERS like:1
#获取点赞用户数
SCARD like:1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
# 关注模型
#A关注的人
ASet -> {1,2,3}
#B关注的人
BSet -> {3,5,7,8}
#C关注的人
CSet -> {1,2,3,5,8}
#A和B共同关注的人
SINTER ASet BSet -> {3}
#A关注的人也关注了B
SISMEMBER 1Set B
SISMEMBER 2Set B
SISMEMBER 3Set B
#对于B而言,A可能认识的人
SDIFF BSet ASet -> {5,7,8}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
# 有序集合
#加入代分值的元素
ZADD key score member [[socre member]...]
#删除key
ZREM key member [member...]
#返回member的分值
ZSCORE key member
#给member的分值加上increment
ZINCRBY key increment member
#返回个数
ZCARD key
#正序获取下标start到stop的元素
ZRANGE key start stop [WITHSCORES]
#倒序获取下标start到stop的元素
ZREVRANGE key start stop [WITHSCORES]
#并集
ZUNIONSTORE destkey numkeys key [key ...]
#交集
ZINTERSTORE destkey numkeys key [key ...]
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#新闻点击数
ZINCRBY hotNews:20210421 1 总理记者会
#日期20210421排行榜前十
ZREVRANGE hotNews:20210421 0 9 WITHSCORES
#七日搜索榜单计算
ZUNIONSTORE hotNews:7:day 7 hotNews:20210421 ... hotNews:20210427
#展示7日排行榜
ZREVRANGE hotNews:7:day 0 9 WITHSCORES
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
Redis zset实现多条件排序思路 https://blog.csdn.net/willingtolove/article/details/113753797 (opens new window)
← 延迟队列实现阶梯通知 分布式锁 →