请选择 进入手机版 | 继续访问电脑版

默认
发表评论 3
想开发IM:买成品怕坑?租第3方怕贵?找开源自已撸?尽量别走弯路了... 找站长给点建议
[已解决] 求助基于RainbowChat定制的im,群聊修改出的一些问题
因数据库的同步问题,导致所有账号均无法登陆,进行数据库恢复后,发现单聊没有问题,但是群聊出现问题,因为账号无法登陆,导致所有群组都出现相关人员退群的通知,然而恢复数据库后,所有人员均恢复为群成员,但是当某一群成员发送消息时,其他群成员均无法接收,而且在数据库离线消息表中也未出现给所有群成员消息的记录,导致群无法正常聊天,但是在群内出现人员异动后,该群恢复正常,而且我在代码中发现一个就是高速缓存用来放群成员数据的一段代码,并且该代码被手动注释掉,现有问题如下
1:请问高速缓存是存储在哪儿的,什么情况下高速缓存会发生改变,该改变是手动还是被动
2:这段代码注释掉是否意味着高速缓存只有在自己出现异动情况才会变化,而不会初始化
3:如何才能避免因为数据库恢复导致群消息无法接收到
感谢诸位的帮助


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

标签:RainbowChat
1.png
上一篇:im的http登录接口请求,概率性出现错误下一篇:[已回复] 求助RainbowChat IM的APP和web消息同步等功能的实现疑问
推荐方案
评论 3
1:请问高速缓存是存储在哪儿的,什么情况下高速缓存会发生改变,该改变是手动还是被动》高速缓存的目的,就是把原本存在数据库里的数据放到内存里,提高性能,不然每次读库,影响性能。

它是在tomcat启动时一次性加载,并且在每次对应的信息被修改时,会主动更新缓存。这是它唯有的两个更新渠道。

2:这段代码注释掉是否意味着高速缓存只有在自己出现异动情况才会变化,而不会初始化
》这段代码在原版里就是注释掉的,没有影响。你可以在工程里搜一下缓存类是在哪里被调用的,一看就明白。

另外,我不清楚你的工程里,对这些东西有做过多大范围的修改,我建议你最好能找到原版的工程,想办法对照一下。因为原版肯定没有你说的问题,而你的工程有问题,那有可能是改动的内容导致。

3:如何才能避免因为数据库恢复导致群消息无法接收到
数据库恢复是什么意思?数据库恢复应该重启一下tomcat,不然缓存跟数据库都不一致了。

签名: 《网络编程懒人入门(十一):快速读懂Http/3协议,一篇就够!》http://www.52im.net/thread-3020-1-1.html
3 楼: 流离 Lv.2 楼主 1 个月前 | 显示全部楼层
引用:JackJiang 发表于 2020-04-29 20:53
1:请问高速缓存是存储在哪儿的,什么情况下高速缓存会发生改变,该改变是手动还是被动》高速缓存的目的, ...

万分感谢作者,重启tomcat之后,问题解决了,已记录该问题
签名: 繼續整合
引用:流离 发表于 2020-04-30 09:01
万分感谢作者,重启tomcat之后,问题解决了,已记录该问题

不客气
签名: 《网络编程懒人入门(十一):快速读懂Http/3协议,一篇就够!》http://www.52im.net/thread-3020-1-1.html
打赏楼主 ×
使用微信打赏! 使用支付宝打赏!

返回顶部