redis应用于基于时间顺序的数据操作 ,而不关注具体时间
2023-09-27 14:21:10 时间
业务场景
使用微信的过程中,当微信接收消息后,会默认将最近接收的消息置顶,当多个好友及关注的订阅号同时发送消息时,该排序会不停的进行交替。同时还可以将重要的会话设置为置顶。一旦用户离线后,再次打开微信时,消息该按照什么样的顺序显示?
业务分析
解决方案
- 依赖list的数据具有顺序的特征对消息进行管理,将list结构作为栈使用
- 对置顶与普通会话分别创建独立的list分别管理
- 当某个list中接收到用户消息后,将消息发送方的id从list的一侧加入list(此处设定左侧)
- 多个相同id发出的消息反复入栈会出现问题,在入栈前无论是否具有当前id对应的消息,先删除对应id
- 推送消息时先推送置顶会话list,再推送普通会话list,推送完成的List清除所有数据
- 消息的数量,也就是微信用户对话数量采用计数器的思想另行记录,伴随list操作同步更新
Trips 17:
- redis应用于基于时间顺序的数据操作 ,而不关注具体时间
相关文章
- redis有序集合的一个应用
- Redis Cluster集群搭建与应用
- Redis(一)-Redis的安装以及概述(以Red Hat为例)
- docker快速搭建redis集群
- GaussDB(for Redis)双活容灾支持4大应用场景,为业务安全保驾护航
- 【转】NoSQL初探之人人都爱Redis:(3)使用Redis作为消息队列服务场景应用案例
- redis应用基于状态控制的批量任务执行
- redis应用于各种结构型和非结构型高热度数据访问加速
- redis 的安装和使用
- Redis中7种集合类型应用场景
- 秒杀场景:如何通过 Redis 减库存?
- Redis 的 8 大应用场景!
- redis 反序列化deserialize异常问题解决
- ubuntu安装redis
- Redis Server监控
- 封装php-redis服务,读写分离,失败重连,单例模式,限制客户端指令集
- 2022-03-18 对于redis的operator的概要设计
- 2022-01-27 Redis-数据安全-持久化
- C# Redis 缓存应用 主要代码及版本选择
- Windows下安装Redis
- redis20 - SpringBoot 与 redis 客户端 lettuce集成应用
- redis-01 常用五种类型与应用场景
- redis各数据类型应用概述
- Redis的穿透、击穿、雪崩之间的区别与联系
- Redis作者谈Redis应用场景
- 谈一谈若干的K-V NoSQL应用:LevelDB、Redis、Tair、RockesDB
- Redis发布订阅和应用场景
- redis常见应用场景
- Redis 的 5 个常见应用场景