现象

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相关推荐

  1. springboot 集成redis key乱码\xac\xed\x00\x05t\x00\x0eHAOKE_HOT_WORD

    文章目录 场景 分析 解决 场景 springboot集成redis集群 检查key时发现key是二进制格式的 \xac\xed\x00\x05t\x00\x0eHAOKE_HOT_WORD 分析 R ...

  2. Redis整合SpringBoot,出现“\xac\xed\x00\x05t\x00\x03解决自定义RedisTemplate序列化

    SpringBoot整合 SpringBoot操作数据:spring-data jpa jdbc mongodb redis SpringData也是和SpringBoot齐名的项目 说明:在Spri ...

  3. RedisTemplate设置redis的key时出现\xac\xed\x00\x05t\x00\x0f前缀

    1.问题描述 使用redisTemplate设置redis的key-value,程序运行没有问题,但是却在redis客户端查不到设置的key-value. 2.产生原因 出现这种乱码前缀的原因是没有进 ...

  4. SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00

    SpringBoot集成Redis解决乱码问题 - \xAC\xED\x00\x05t\x00 SpringBoot集成Redis解决乱码问题 问题概述 使用redisTemplate.opsForV ...

  5. redis key/value 前面出现\xac\xed\x00\x05t\x00\x06 已解决

    最近写项目时遇到的一个问题,当我向 redis 中 set 数据的时候 key 和 value出现\xac\xed\x00\x05t\x00\x06这些乱码,问题如图: 原因:spring-data- ...

  6. Redis存key出现\xAC\xED\x00\x05t\x00\x14

    在使用RedisTemplate存key的时候发现在redis的key是 \xAC\xED\x00\x05t\x00\x14 这样的 或者类似这样的. 因为在RedisTemplate源码里面默认序列 ...

  7. FAQ:redis key/value 前面出现\xAC\xED\x00\x05t\x00\x05

    1.问题现象: 最近使用spring-data-redis 和jedis 操作redis时发现存储在redis中的key不是程序中设置的string值,前面还多出了许多类似\xac\xed\x00\x ...

  8. redis中键值出现 \xAC\xED\x00\x05t\x00\x11的原因和解决方法

    一.redis中键值出现乱码情况 1.1 问题描述 1.1.1 使用SpringBoot项目结合redis做缓存,发现redis客户端工具中db0库key为USER_USER_ID_1000的前缀出现 ...

  9. Redis Desktop Manager中出现\xAC\xED\x00\x05t\x00乱码问题

    问题 最近在使用Redis Tmeplate保存到Redis过程中出现了,以\xAC\xED\x00\x05t\x00\x12开头的乱码问题,具体如下图: 原因 其实就是,下面两个Redis配置注解不 ...

最新文章

  1. Java设计模式---桥接Bridge模式
  2. COM_ASET check in CRM Middleware inbound scenario
  3. 6001. mavlink 编译与移植
  4. C语言和设计模式(抽象工厂模式)
  5. 查看 mysql端口 和进程_mysql 端口号(怎么查看mysql的端口号)
  6. java微服务架构师,兴业数金Java笔试题
  7. Android 源码编译步骤实录
  8. 老毛子 安装 mysql_老毛子固件mysql启动失败的解决方法
  9. 杭州登山地图是谁开发的_浙江新添7个省级运动休闲小镇!杭州这个地方榜上有名!...
  10. img 标签的 height 和 width 属性设置图像的尺寸。
  11. MetaMask账号注册
  12. CentOS 官网下载 iso 镜像
  13. vue 移动端进入页面自动弹出软键盘
  14. 国内外计算机CPU差异,Intel 9代和10代CPU差别真的很大?配电脑看它选择不后悔
  15. Python字符串前缀u、r、b、f含义
  16. OpenCV打开摄像头截图
  17. 百度网盘撸用户羊毛是怎么一回事
  18. 专知 2019/4/24(图像填充方法大全)
  19. 小学语文哪课适合用计算机,小学语文新课心得体会
  20. 字节顺序-大端/小端、big-endian/little-endian

热门文章

  1. Matlab矩阵论矩阵分析计算实现(四)求史密斯标准型和约当标准型
  2. 基于PCA的图像压缩实现
  3. 推荐算法的多模型融合
  4. 绩效面谈的4种技巧二
  5. 微信小程序连接百度地图API实现天气查询
  6. 泛微为什么大量招人_OA市场增长乏力 泛微未来靠什么取胜?
  7. 统计源期刊《国际医学放射学杂志》
  8. Java薪资管理系统
  9. [第六届蓝桥杯省赛C++B组]三羊献瑞
  10. ESP01 连接OneNet平台