默认
发表评论 1
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已回复] MobileIMSDK去重逻辑请教:去重缓存默认为何是10分钟?
阅读(16602) | 评论(1 收藏1 淘帖1 1
版主,modileIMSDK中有一个接收QoS的消息缓存列表,消息存放时间MESSAGES_VALID_TIME默认为10分钟
请问下这个时间是如何确定的?为何在这个时间后就能保证不再有重复消息了?

即时通讯网 - 即时通讯开发者社区! 来源: - 即时通讯开发者社区!

上一篇:[已回复] 求助MobileIMSDK集群部署时消息的qos问题下一篇:[已回复] 求助,MobileIMSDK服务调用不成功

本帖已收录至以下技术专辑

推荐方案
评论 1
这个10分钟是个经验值,单纯从去重的技术角度来说,这个时间你可以设置的越长越好。
但设置的太长,缓存的消息太多,就浪费客户端内存了。

至于为何把这个值定成10分钟,原因是:重复是由于重传产生的,而重传算法中,最长的待重传消息生存时间(算上重传次数之后)是大大小于这个10分钟的(因为重传时间太长,消息就失去了时效性,还不如丢掉),所以在权衡了内存消耗和实际的重复可能性,这个时间定的是比较合理的。当然,如果不放心,你自已也可以设置的更大一点。
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部