更换package且完成了相关配置, Cacheutil方法的缓存值没有被序列化存储

Blade 未结 3 1105
bluerose
bluerose 2022-06-16 10:50

之前发过一个求助(见:https://sns.bladex.cn/q-7444.html),当时老大让我去排查一下相关点。当时有点忙,今天继续尝试了下。

我的项目是更换了package的,但是对应的配置也进行了调整。目前依然发现使用Cacheutil方法存储的redis值没有进行序列化。

image.png

如果不配置扫描 “org.springblade”则调用CacheUtil进行redis存储是进行了序列化的。

反而增加为  @ComponentScan({"org.springblade","com.zxz"}) 后,调用CacheUtil进行redis存储没有进行序列化。


1.使用BladeRedis存储进行了序列化。依然发现此问题。如果是 @ComponentScan({"org.springblade","com.zxz"}) ,则是明文。如果去掉"org.springblade"则是正确加密了的值。

2.项目没有定义其他的CacheUtil

3.Debug了执行到的CacheManager,但是不清楚如何去分析。截图如下

image.png

希望能获取帮助。谢谢

3条回答
  •  yinyuncan
    yinyuncan (楼主)
    2022-06-16 11:25



    看了你的debug信息 感觉不是cacheManager的问题,所以需要检查你自己的配置


    主要检查如图的条件


    还有 你还可以配置jdk的序列化方式 看看是否能够正常序列化

    image.png

    回答: 2022-06-16 11:25

    因为根据源码,如果截图中的条件不符合 就会使用GenericJackson2JsonRedisSerializer 这个序列化(也就是json方式)

提交回复