java RedisTemplate操作redis后,想看一下是否成功,

就redis-cli执行:keys *

  1. “\xac\xed\x00\x05t\x00\x04name”
  2. “a”
  3. “siteName”
  4. “\xac\xed\x00\x05t\x00\bsiteName”
  5. “myCache::userName”
    发现存储键值包含\xac\xed\x00\x05t\x00\特殊字符。

原因:RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化。

spring-data-redis的RedisTemplate<K, V>模板类在操作redis时默认使用JdkSerializationRedisSerializer来进行序列化。

public void afterPropertiesSet() {

    super.afterPropertiesSet();boolean defaultUsed = false;if (defaultSerializer == null) {defaultSerializer = new JdkSerializationRedisSerializer(classLoader != null ? classLoader : this.getClass().getClassLoader());}if (enableDefaultSerializer) {if (keySerializer == null) {keySerializer = defaultSerializer;defaultUsed = true;}if (valueSerializer == null) {valueSerializer = defaultSerializer;defaultUsed = true;}if (hashKeySerializer == null) {hashKeySerializer = defaultSerializer;defaultUsed = true;}if (hashValueSerializer == null) {hashValueSerializer = defaultSerializer;defaultUsed = true;}}if (enableDefaultSerializer && defaultUsed) {Assert.notNull(defaultSerializer, "default serializer null and not all serializers initialized");}if (scriptExecutor == null) {this.scriptExecutor = new DefaultScriptExecutor<K>(this);}initialized = true;
}

这是因为存取序列化的方式为org.springframework.data.redis.serializer.JdkSerializationRedisSerializer

将序列化的方式改为 org.springframework.data.redis.serializer.StringRedisSerializer 会自动去掉\xac\xed\x00\x05t\x00前缀

解决:方案1 使用 StringRedisTemplate

@Autowired
private StringRedisTemplate stringRedisTemplate;

方案2 修改默认的序列化方式:

private RedisTemplate redisTemplate;
@Autowired(required = false)
public void setRedisTemplate(RedisTemplate redisTemplate) {
RedisSerializer stringSerializer = new StringRedisSerializer();
redisTemplate.setKeySerializer(stringSerializer);
redisTemplate.setValueSerializer(stringSerializer);
redisTemplate.setHashKeySerializer(stringSerializer);
redisTemplate.setHashValueSerializer(stringSerializer);
this.redisTemplate = redisTemplate;
}
将redisTemplate默认改为stringRedis序列化方式。

java redis存储键值包含\xac\xed\x00\x05t\x00\特殊字符相关推荐

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

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

  2. redis键值出现 \xac\xed\x00\x05t\x00的解决方法!!

    redis键值出现 \xac\xed\x00\x05t\x00&的解决方法 BUT!BUT!BUT! 以上三种方法都尝试过了.均无效果 最后发现是因为RedisTemplate得配置类没有被s ...

  3. redis键值出现 \xac\xed\x00\x05t\x00的解决方法

    笔者在使用redis存放键值对时,发现存放的key和value多了\xac\xed\x00\x05t\x00&的前缀,笔者存放的是字符串,结果如下图所示,出现非预期的前缀. 出现该问题的原因是 ...

  4. Spring集成Redis键值乱码\xac\xed\x00\x05t\x00\tb

    目录 一.Spring集成Redis键值乱码 二.解决方法 三.问题分析 一.Spring集成Redis键值乱码 Spring集成Redis设置缓存数据时,发现键值乱码 设置的key前面有乱码\xac ...

  5. redis键和值出现乱码问题 \xac\xed\x00\x05t\x00$

    大家好我第一次写文章,如果有错误请多多指正,可以加微信讨论问题wx:w18013425493,请大哥们轻点. 今天我们来说一下使用RedisTemplate.opsForValue()和RedisTe ...

  6. 解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00

    最近使用spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\ ...

  7. java用来存储键值的容器是_Java容器 - osc_y0caef0i的个人空间 - OSCHINA - 中文开源技术交流社区...

    问题及答案来源自<Java程序员面试笔试宝典>第四章 Java基础知识 4.9容器 1.Java Collections框架是什么? Java Collections框架中包含了大量集合接 ...

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

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

  9. Reids简直存储,key以“\xAC\xED\x00\x05t\x00“开头

    1.问题描述 使用RedisTemplate进行redis缓存时时发现存储在redis中的key前面多出:\xac\xed\x00\x05t\x00,如下 出现该问题的原因是, redis templ ...

最新文章

  1. PHP根据IP获取当前所在地地址
  2. HDU-1025 Constructing Roads In JGShining's Kingdom
  3. 关于js封装函数的一些东西
  4. CSDN-markdown编辑器使用方法
  5. vs python opencv配置_python如何配置opencv
  6. 零售连锁管理软件_连锁超市用哪个收银软件好?
  7. 关于控件postback 后viewstate加载失败的问题
  8. k-近邻算法-优化约会网站的配对效果
  9. 关于/etc/shadow 文件的九段内容的详细解释
  10. BZOJ3828 : [Poi2014]Criminals
  11. 阿里投资,只为安全感
  12. 用Hough投票做物体检测(续)
  13. Java把日期转为周几
  14. Xcode给应用开启沙箱sandbox
  15. python爬取景点数据看该去哪里玩——南京篇
  16. rpm命令的使用与软件的安装
  17. python爬虫入门之爬取英雄联盟官网的所有英雄数据
  18. 随机森林原始论文_2020年还需要阅读的10篇人工智能论文(附链接)
  19. mysql查询表升序降序_创建一个按钮,对MYSQL查询进行升序和降序排序
  20. iOS游戏开始者从零开始 6个月的学习编程经历

热门文章

  1. 基于SVD的推荐系统实现
  2. java入口函数_Java 函数入口
  3. 中国科学技术大学课程资源 最新github地址
  4. 基于Centos环境使用宝塔面板,搭建nextcloud
  5. 城市热点认证计费系统应用
  6. 【硬核】年底绩效面谈,涨薪,老板给加了1万块
  7. 【python】.pyx文件编译为.pyd过程中遇到的问题
  8. opencv曝光过度_软件开发|使用 OpenCV 进行高动态范围(HDR)成像
  9. Synaptic Ubuntu软件管理工具
  10. 关于python的数字类型、以描述错误的是_关于Python的数字类型,以下选项中描述错误的是...