cloud项目中redis取不到数据问题

2021-11-12
昨天因为项目下有个小区摄像头出了 问题 硬件设备需要重新同步
因为之前有写好的定时任务 以为没啥问题
但早上一看数据库,还是没有摄像头!心想 :坏了 出问题了
排查本地启动项目 debug启动 最后发现是从redis取token的时候直接报错 抛空指针
我第一反应是redis配置文件写错了
查配置
加粗样式但这也没有啥好排查的呀
查nacos中配置的redis是不是写错了
在这里插入图片描述
发现也没啥问题
一度很尴尬:无奈 只好从代码下手
查不到 我插入总可以把
写了个接口插入 一测试
在这里插入图片描述
咦!这个键好像不对劲,为啥前面多了“\xAC\xED\x00\x05t\x00\x10”
—》》》百度查找答案
看源码:
在这里插入图片描述
看到spring-data-redis中RedisTemplate<K, V>在操作的时候k,v是泛型的,所以RedisTemplate中有了上面那段代码,在没有特殊定义的情况下,spring默认采用defaultSerializer = new JdkSerializationRedisSerializer();

原因其实就出现在这里,解决的办法就是手动定义序列化的方法,spring-data-redis中还提供了一个序列化的类专门针对string类型的序列化org.springframework.data.redis.serializer.StringRedisSerializer这个类,我们在带有@Configuration注解的类中覆盖自动配置的RedisTemplate<Object,Object>
在这里插入图片描述这样 应该就可以了!
但是经过测试 好像还不行 无奈 只能选择这样
在这里插入图片描述
用StringRedisTemplate来代替RedisTemplate来操作 解决问题。

原文参考:
https://blog.csdn.net/wwrzyy/article/details/85089463

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值