场景:
- 我为User类提供了两项服务,但包名称不同(spring-boot 2.0应用程序)。
- 使用Spring Cache批注(缓存,CachePut,可缓存)进行缓存
- 使用依赖项spring-boot-starter-data-redis和jedis。
- 使用注释将用户对象放入一项服务的缓存中,并将用户对象放入另一项服务中。
- 用户对象与类名以及程序包名一起缓存。
- 由于用户对象位于具有相同类名的不同程序包中,因此从缓存中提取用户时,这会在第二服务中引起反序列化问题。
避免此问题的一种方法是匹配程序包名称。但是还有其他方法可以避免在序列化期间在缓存的值中添加类类型并反序列化缓存的值而没有任何问题吗?