redisson中怎么实现缓存序列化,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
redisson缓存序列化几枚坑
1、返回值为Map<T, K> 的方法增加@Cacheable后,T和K被类型擦出了,为啥?
redisson结合Spring使用时,会有RedissonSpringCacheManager,将redissonClient自动注入,另外还有codec的概念,即序列化和反序列化,可以查看实现类,就几种实现,假设我们使用org.redisson.codec.JsonJacksonCodec,可以看到,decode中,仅一个Object.class,即范型信息并未带入,故出现了问题
2、对于匿名内部类的滥用导致反序列化失败
你会想,匿名内部类有什么影响?
那么跟着我看下我们时常会写的一种Map写法:
Map<String, Object> map = new HashMap(){{put("mykey", "test");}};
这种方式有什么问题呢,这就涉及到匿名内部类声明方式在实际编译时是如何存在于class文件中的
...$1 extends HashMap{ ...}...
看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注编程网行业资讯频道,感谢您对编程网的支持。