# 抽奖

# 参加活动抽奖
SADD key userId

#查看所有抽奖的用户
SMEMBERS key

#抽奖count个人
SRANDMEMBER key [count] 
SPOP key [count] #pop删除
1
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

# 关注模型

#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

# 有序集合

#加入代分值的元素
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

image-20210508203659197

image-20210508203850755

#新闻点击数
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

Redis zset实现多条件排序思路 https://blog.csdn.net/willingtolove/article/details/113753797 (opens new window)