默认
发表评论 12
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
不能这么理解吧。
所谓的新消息和历史消息,这看从哪个维度去理解了。

对于app来说,无非就是已读消息(点开聊天界面后已查看的)和未读消息(未点开聊天界面查看的),再有就是离线消息(也就在你app不在线时,对方发的消息)。
评论 12
引用:JeffreyZero 发表于 2021-06-04 15:27
哪他为啥要设计两个队列,一个新消息队列和一个历史消息队列,而且两个队列的 长度都为 20 , 历史消息 2 ...

应该是不够的。不过,具体的im设计看自已的情况吧,没有标准的做法
引用:JeffreyZero 发表于 2021-06-04 20:44
所以 为啥要有新消息队列和 历史消息队列呢?  还有就是历史消息队列应该存多少长度比较合理

对于服务端来说,不存新消息这种说法,服务端只需要存一个全量消息表(因为多端同步时需要通过此表进行增量计算),是不是新消息只是对于客户端来说,因为客户端本地有缓存,在本此加载完的缓存之后收到的消息,都可以认为是本次启动后的新消息。

你不要被那稀奇古怪的文章的给误导了,有可能文章作者自已压根没写过im,只是通过各种文章得到知识,通过理论,拼凑出来的概念。以你自已的实际开发为准就好了
引用:JeffreyZero 发表于 2021-06-04 21:37
我也没做过 IM 经验,所以才参考别人的文章,历史消息存全量会不会太多了,你的意思只存一份历史消息队列 ...

对的
引用:JeffreyZero 发表于 2021-06-04 22:44
哪历史消息存多少合适, 目前用的 Redis 的有序集合,怎么淘汰

你参照微信的逻辑:http://www.52im.net/thread-3008-1-1.html#33
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部