-
缓存 -
数据共享分布式 -
分布式锁 -
全局ID -
计数器 -
限流 -
位统计 -
购物车 -
用户消息时间线timeline -
消息队列 -
抽奖 -
点赞、签到、打卡 -
商品标签 -
商品筛选 -
用户关注、推荐模型 -
排行榜
1、缓存
2、数据共享分布式
org.springframework.session spring-session-data-redis
3、分布式锁
public static boolean getLock(String key) { Long flag = jedis.setnx(key, "1"); if (flag == 1) { jedis.expire(key, 10); } return flag == 1; } public static void releaseLock(String key) { jedis.del(key); }
4、全局ID
5、计数器
6、限流
7、位统计
set k1 a setbit k1 6 1 setbit k1 7 0 get k1 // 6 7 代表的a的二进制位的修改 //a 对应的ASCII码是97,转换为二进制数据是01100001 //b 对应的ASCII码是98,转换为二进制数据是01100010 //因为bit非常节省空间(1 MB=8388608 bit),可以用来做大数据量的统计。例如:在线用户统计,留存用户统计 setbit onlineusers 01 setbit onlineusers 11 setbit onlineusers 20 //支持按位与、按位或等等操作 BITOPANDdestkeykey[key...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。 BITOPORdestkeykey[key...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。 BITOPXORdestkeykey[key...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。 BITOPNOTdestkeykey ,对给定 key 求逻辑非,并将结果保存到 destkey 。 //计算出7天都在线的用户 BITOP "AND" "7_days_both_online_users" "day_1_online_users" "day_2_online_users" ... "day_7_online_users"
8、购物车
-
key:用户id;field:商品id;value:商品数量。 -
+1:hincr。-1:hdecr。删除:hdel。全选:hgetall。商品数:hlen。
9、用户消息时间线timeline
10、消息队列
-
blpop:blpop key1 timeout 移除并获取列表的第一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。 -
brpop:brpop key1 timeout 移除并获取列表的最后一个元素,如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
-
队列:先进先除:rpush blpop,左头右尾,右边进入队列,左边出队列 -
栈:先进后出:rpush brpop
11、抽奖
spop myset
12、点赞、签到、打卡
-
点赞了这条微博:sadd like:t1001 u3001 -
取消点赞:srem like:t1001 u3001 -
是否点赞:sismember like:t1001 u3001 -
点赞的所有用户:smembers like:t1001 -
点赞数:scard like:t1001
13、商品标签
-
sadd tags:i5001 画面清晰细腻 -
sadd tags:i5001 真彩清晰显示屏 -
sadd tags:i5001 流程至极
14、商品筛选
// 获取差集 sdiff set1 set2 // 获取交集(intersection ) sinter set1 set2 // 获取并集 sunion set1 set2
sadd brand:apple iPhone11 sadd brand:ios iPhone11 sad screensize:6.0-6.24 iPhone11 sad screentype:lcd iPhone 11 //赛选商品,苹果的、ios的、屏幕在6.0-6.24之间的,屏幕材质是LCD屏幕 sinter brand:apple brand:ios screensize:6.0-6.24 screentype:lcd
15、用户关注、推荐模型
-
sadd 1:follow 2 -
sadd 2:fans 1 -
sadd 1:fans 2 -
sadd 2:follow 1
-
sinter 1:follow 2:fans
-
用户1可能认识的人(差集):sdiff 2:follow 1:follow -
用户2可能认识的人:sdiff 1:follow 2:follow
16、排行榜
zincrby hotNews:20190926 1 n6001 //获取今天点击最多的15条: zrevrange hotNews:20190926 0 15 withscores
”LOGO大咖”所发表内容注明来源的,版权归原出处所有(无法查证版权的或者未注明出处的均来自网络,系转载,转载的目的在于传递更多信息,版权属于原作者。如有侵权,请联系,笔者会第一时间删除处理!