redis数据类型综合案例(二)

redis数据类型案例

    • 案例

      • 业务场景:在微信的使用过程中,当微信接收到消息后,会默认将最近接收到的消息顶置,当多个好友及关注的订阅号同时发送消息时,该排序会不停的进行交替。同时还可以将重要的会话设置为顶置,一旦用户离线后,再次打开微信时,消息该按什么样的顺序显示?

      • 解决方案

        • 依赖list的数据具有顺序的特征对消息进行管理,将list结构作为栈来使用

        • 对顶置与普通会话分别创建独立的list分别管理

        • 当某个list中接受到用户消息后,将消息发送方的id从list的一侧加入list

        • 多个相同id发送的消息反复入栈会出现问题,在入栈之前无论是否具有当前id对应的消息,先删除对应id

        • 推送消息时先推送顶置会话list,在推送普通会话list,推送完成的list清除所有数据

        • 消息是数量,也就是微信用户对话的数量采用计数器的思想另行记录,伴随list操作同步进行

      • 具体操作

      •  

         

      • redis应用场景:redis应用于给予时间顺序的数据操作,而不关注具体时间

       

       

       

       

posted @ 2020-05-19 13:13  IT特工  阅读(192)  评论(0编辑  收藏  举报