【springboot】redisTemplate Redis key出现\xac\xed\x00\x05t\x00
现象
springboot项目使用redisTemplate整合redis,测试写入字符串类型的key、value,通过redis可视化工具观察redis存储数据,发现key不符合测试预期,出现\xac\xed\x00\x05t\x00等
源码
@Service@Slf4j
public class RedisService {@Resourceprivate RedisTemplate<String, String> redisTemplate;public void put(String key, String value) {redisTemplate.opsForValue().set(key, value);}
}
解决
手上恰好有能够正常使用的其他项目,对比启动日志发现以下问题
正常
2021-12-03 14:32:20.940 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Creating shared instance of singleton bean 'redisService'
2021-12-03 14:32:20.948 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Creating shared instance of singleton bean 'stringRedisTemplate'
异常
2021-12-03 14:29:05.776 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Creating shared instance of singleton bean 'redisService'
2021-12-03 14:29:05.779 [main] DEBUG o.s.b.f.s.DefaultListableBeanFactory - Creating shared instance of singleton bean 'redisTemplate'
实例化的redisTemplate对象不同,StringRedisTemplate使用RedisSerializer.string()作为序列化工具,能够正确处理字符串。而RedisTemplate使用默认JdkSerializationRedisSerializer,序列化字符串时出现异常。
查看代码,发现redisTemplate的注入方式不同,是导致问题的根本原因
对象 | 注入方式 |
---|---|
stringRedisTemplate | @Autowire |
redisTemplate | @Resource |
结论
将注入方式修改为@Autowire,问题解决
@Resource,通过name注入,匹配到redisTemplate类
@Autowire,通过type注入,匹配到StringRedisTemplate extends RedisTemplate<String, String>类
欢迎大家留言交流讨论,如果对你有帮助,请点个赞吧
【springboot】redisTemplate Redis key出现\xac\xed\x00\x05t\x00相关推荐
- springboot 集成redis key乱码\xac\xed\x00\x05t\x00\x0eHAOKE_HOT_WORD
文章目录 场景 分析 解决 场景 springboot集成redis集群 检查key时发现key是二进制格式的 \xac\xed\x00\x05t\x00\x0eHAOKE_HOT_WORD 分析 R ...
- Redis整合SpringBoot,出现“\xac\xed\x00\x05t\x00\x03解决自定义RedisTemplate序列化
SpringBoot整合 SpringBoot操作数据:spring-data jpa jdbc mongodb redis SpringData也是和SpringBoot齐名的项目 说明:在Spri ...
- RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀
1.问题描述 使用redisTemplate设置redis的key-value,程序运行没有问题,但是却在redis客户端查不到设置的key-value. 2.产生原因 出现这种乱码前缀的原因是没有进 ...
- SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00
SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00 SpringBoot集成Redis解决乱码问题 问题概述 使用redisTemplate.opsForV ...
- redis key/value 前面出现\xac\xed\x00\x05t\x00\x06 已解决
最近写项目时遇到的一个问题,当我向 redis 中 set 数据的时候 key 和 value出现\xac\xed\x00\x05t\x00\x06这些乱码,问题如图: 原因:spring-data- ...
- Redis存key出现\xAC\xED\x00\x05t\x00\x14
在使用RedisTemplate存key的时候发现在redis的key是 \xAC\xED\x00\x05t\x00\x14 这样的 或者类似这样的. 因为在RedisTemplate源码里面默认序列 ...
- FAQ:redis key/value 前面出现\xAC\xED\x00\x05t\x00\x05
1.问题现象: 最近使用spring-data-redis 和jedis 操作redis时发现存储在redis中的key不是程序中设置的string值,前面还多出了许多类似\xac\xed\x00\x ...
- redis中键值出现 \xAC\xED\x00\x05t\x00\x11的原因和解决方法
一.redis中键值出现乱码情况 1.1 问题描述 1.1.1 使用SpringBoot项目结合redis做缓存,发现redis客户端工具中db0库key为USER_USER_ID_1000的前缀出现 ...
- Redis Desktop Manager中出现\xAC\xED\x00\x05t\x00乱码问题
问题 最近在使用Redis Tmeplate保存到Redis过程中出现了,以\xAC\xED\x00\x05t\x00\x12开头的乱码问题,具体如下图: 原因 其实就是,下面两个Redis配置注解不 ...
最新文章
- Java设计模式---桥接Bridge模式
- COM_ASET check in CRM Middleware inbound scenario
- 6001. mavlink 编译与移植
- C语言和设计模式(抽象工厂模式)
- 查看 mysql端口 和进程_mysql 端口号(怎么查看mysql的端口号)
- java微服务架构师,兴业数金Java笔试题
- Android 源码编译步骤实录
- 老毛子 安装 mysql_老毛子固件mysql启动失败的解决方法
- 杭州登山地图是谁开发的_浙江新添7个省级运动休闲小镇!杭州这个地方榜上有名!...
- img 标签的 height 和 width 属性设置图像的尺寸。
- MetaMask账号注册
- CentOS 官网下载 iso 镜像
- vue 移动端进入页面自动弹出软键盘
- 国内外计算机CPU差异,Intel 9代和10代CPU差别真的很大?配电脑看它选择不后悔
- Python字符串前缀u、r、b、f含义
- OpenCV打开摄像头截图
- 百度网盘撸用户羊毛是怎么一回事
- 专知 2019/4/24(图像填充方法大全)
- 小学语文哪课适合用计算机,小学语文新课心得体会
- 字节顺序-大端/小端、big-endian/little-endian