七叶笔记 » 数据库 » Redis 如何批量设置过期时间(PIPLINE的使用)

Redis 如何批量设置过期时间(PIPLINE的使用)

项目实战 需求描述 打开APP,给喜欢我的人发送我的上线通知(为了避免打扰,8小时内重复登录不触发通知) 每个人每半小时只会收到一次这类上线通知(即半小时内就算我喜欢的1万人都上线了,我也只收到一次喜欢的人上线通知) 要点分析 合理使用缓存,减少DB读写次数 不仅要减少DB读写次数,也要减少Redis的读写次数,使用PIPLINE 代码实现解析 canRecall() 写的比较优雅,先判断是否已发送的标记,再判断HouseOpen::getCurrentOpen(),因为HouseOpen::getCurrentOpen()是要查询DB计算的,这种代码要尽可能少的被执行到,减少DB查询。 array_diff() 取差集的思路,获得需要推送的人

封装工具类

调用工具类

总结

不同量级的数据需要不同的处理办法,减少网络请求次数,合理使用缓存,是性能优化的必经之路。

进一步思考

如果我喜欢的1万人同时上线(秒级并发),我只收到一个消息推送,要避免被通知轰炸,怎么解决这类并发问题呢?

到此这篇关于Redis 如何批量设置过期时间(PIPLINE的使用)的文章就介绍到这了,更多相关Redis 批量设置过期时间内容请搜索七叶笔记以前的文章或继续浏览下面的相关文章希望大家以后多多支持七叶笔记!

相关文章