Thingsboard Redis缓存与序列化问题 - codeHui/IoT-Thingsboard-architecture-and-source-code-analysis GitHub Wiki
最近升级3.6.2后,发现服务报错,反序列化id不一致!
然后发现这个Object正好被这个版本修改过,这个类实现了Serializable接口,而且没有自定义序列化id,所以序列号id就是根据类的结构自动生成的(Java层面的机制),也就是说,如果这个Object增删了一个字段,那自动生成的序列号id就会变化
所以问题原因就是,从redis读缓存后,因为序列号id不一致,报错了
怎么解决了,就是把redis缓存清空就好了,我和Thingsboard确认了他们的缓存设计原则是删除缓存不会影响页面。
而且我建议他们把upgrade后,要执行redis-cli flushall
清空的这步操作,他们说接受建议后面会维护到官方的更新文档里,作为更新服务后的常规操作(下图为证,现在没有,后面他们应该会加上这一步)。