【BUG】修改实体类后redis读取缓存报错local class incompatible: stream classdesc serialVersionUID = -176773094716434

问题描述

修改完实体类后,发现redis读取缓存数据报错了。

报错信息如下:

local class incompatible: stream classdesc serialVersionUID = -1767730947164340750, local class serialVersionUID = 7904662792296053083

原因分析:

在实体类中没有指定serialVersionUID,修改实体类字段后,读取redis缓存没法反序列化了。


解决方案:

1.临时解决方案:删除redis缓存,后续修改bean还会存在问题。
2.终极解决方案:先删除redis缓存,再在实体类中指定serialVersionUID,后续修改bean也不会存在问题。

@ApiModel("查询标签大类响应DTO")
@Data
public class TagCategoryQueryResDTO implements Serializable {
    private static final long serialVersionUID = -8247528687520982804L;

你可能感兴趣的:(中间件,缓存,bug,redis)