默认
发表评论 4
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
求助关于web端im的消息存储该怎么实现?从而方便浏览器拉取
阅读(54507) | 评论(4 收藏 淘帖
5金币
做webim的时候,发送消息这一块不可能直接操作mysql数据库的,所以我现在想使用redis给每一个用户存储一个list表,这样的话初始化的会话框信息也是从这里面拿,等缓存超过设置的上限的时候,同步到mysql数据库,不知道这样行不行。
上一篇:求教自已实现p2p技术时,反向链接的tcp通信失败的问题下一篇:IM新手求助IM里的收藏功能实现的大概思路
推荐方案
评论 4
Web IM不像APP IM可以在客户端做缓存。

你说的Web IM,至少有两块聊天数据需要从取务端拉取,第一个就是首页“消息”列表数据,第二就是每个会话点开后的历史聊天记录的加载。

那你所困惑的具体是我上面说的那一块呢
我困惑的是首页“消息”列表数据,当前不知道咋么处理,因为我想的是登录成功首页消息列表是存在缓存中的,而且还存了双方的最新100条信息,等到真正的查看更多聊天记录的时候我才去请求mysql类似分页每次给他一点数据,所以在用户发送一条消息(单聊或者群聊),我想的都是直接存入redis先,但是消息咋么保持同步到mysql没有好的想法,还是说我现在的思路就是错误的。
引用:Remember 发表于 2019-07-04 15:49
我困惑的是首页“消息”列表数据,当前不知道咋么处理,因为我想的是登录成功首页消息列表是存在缓存中的, ...

如果你要这么来架构的话,在插入db前,加一层MQ消息中间件,这样就异步解偶了,不用担心性能问题
从服务端的聊天记录里拉,用算法对数据重新组织后返回给浏览器。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部