栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

2021-11-12
昨天因为项目下有个小区摄像头出了 问题 硬件设备需要重新同步
因为之前有写好的定时任务 以为没啥问题
但早上一看数据库,还是没有摄像头!心想 :坏了 出问题了
排查本地启动项目 debug启动 最后发现是从redis取token的时候直接报错 抛空指针
我第一反应是redis配置文件写错了
查配置
但这也没有啥好排查的呀
查nacos中配置的redis是不是写错了

发现也没啥问题
一度很尴尬:无奈 只好从代码下手
查不到 我插入总可以把
写了个接口插入 一测试

咦!这个键好像不对劲,为啥前面多了“xACxEDx00x05tx00x10”
—》》》百度查找答案
看源码:

看到spring-data-redis中RedisTemplate在操作的时候k,v是泛型的,所以RedisTemplate中有了上面那段代码,在没有特殊定义的情况下,spring默认采用defaultSerializer = new JdkSerializationRedisSerializer();

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

用StringRedisTemplate来代替RedisTemplate来操作 解决问题。

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/490104.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号