java redis存储键值包含\xac\xed\x00\x05t\x00\特殊字符
java RedisTemplate操作redis后,想看一下是否成功,
就redis-cli执行:keys *
- “\xac\xed\x00\x05t\x00\x04name”
- “a”
- “siteName”
- “\xac\xed\x00\x05t\x00\bsiteName”
- “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\特殊字符相关推荐
- redis中键值出现 \xAC\xED\x00\x05t\x00\x11的原因和解决方法
一.redis中键值出现乱码情况 1.1 问题描述 1.1.1 使用SpringBoot项目结合redis做缓存,发现redis客户端工具中db0库key为USER_USER_ID_1000的前缀出现 ...
- redis键值出现 \xac\xed\x00\x05t\x00的解决方法!!
redis键值出现 \xac\xed\x00\x05t\x00&的解决方法 BUT!BUT!BUT! 以上三种方法都尝试过了.均无效果 最后发现是因为RedisTemplate得配置类没有被s ...
- redis键值出现 \xac\xed\x00\x05t\x00的解决方法
笔者在使用redis存放键值对时,发现存放的key和value多了\xac\xed\x00\x05t\x00&的前缀,笔者存放的是字符串,结果如下图所示,出现非预期的前缀. 出现该问题的原因是 ...
- Spring集成Redis键值乱码\xac\xed\x00\x05t\x00\tb
目录 一.Spring集成Redis键值乱码 二.解决方法 三.问题分析 一.Spring集成Redis键值乱码 Spring集成Redis设置缓存数据时,发现键值乱码 设置的key前面有乱码\xac ...
- redis键和值出现乱码问题 \xac\xed\x00\x05t\x00$
大家好我第一次写文章,如果有错误请多多指正,可以加微信讨论问题wx:w18013425493,请大哥们轻点. 今天我们来说一下使用RedisTemplate.opsForValue()和RedisTe ...
- 解决Spring Boot 使用RedisTemplate 存储键值出现乱码 \xac\xed\x00\x05t\x00
最近使用spring-data-redis RedisTemplate 操作redis时发现存储在redis中的key不是设置的string值,前面还多出了许多类似\xac\xed\x00\x05t\ ...
- java用来存储键值的容器是_Java容器 - osc_y0caef0i的个人空间 - OSCHINA - 中文开源技术交流社区...
问题及答案来源自<Java程序员面试笔试宝典>第四章 Java基础知识 4.9容器 1.Java Collections框架是什么? Java Collections框架中包含了大量集合接 ...
- Redis整合SpringBoot,出现“\xac\xed\x00\x05t\x00\x03解决自定义RedisTemplate序列化
SpringBoot整合 SpringBoot操作数据:spring-data jpa jdbc mongodb redis SpringData也是和SpringBoot齐名的项目 说明:在Spri ...
- Reids简直存储,key以“\xAC\xED\x00\x05t\x00“开头
1.问题描述 使用RedisTemplate进行redis缓存时时发现存储在redis中的key前面多出:\xac\xed\x00\x05t\x00,如下 出现该问题的原因是, redis templ ...
最新文章
- PHP根据IP获取当前所在地地址
- HDU-1025 Constructing Roads In JGShining's Kingdom
- 关于js封装函数的一些东西
- CSDN-markdown编辑器使用方法
- vs python opencv配置_python如何配置opencv
- 零售连锁管理软件_连锁超市用哪个收银软件好?
- 关于控件postback 后viewstate加载失败的问题
- k-近邻算法-优化约会网站的配对效果
- 关于/etc/shadow 文件的九段内容的详细解释
- BZOJ3828 : [Poi2014]Criminals
- 阿里投资,只为安全感
- 用Hough投票做物体检测(续)
- Java把日期转为周几
- Xcode给应用开启沙箱sandbox
- python爬取景点数据看该去哪里玩——南京篇
- rpm命令的使用与软件的安装
- python爬虫入门之爬取英雄联盟官网的所有英雄数据
- 随机森林原始论文_2020年还需要阅读的10篇人工智能论文(附链接)
- mysql查询表升序降序_创建一个按钮,对MYSQL查询进行升序和降序排序
- iOS游戏开始者从零开始 6个月的学习编程经历
热门文章
- 基于SVD的推荐系统实现
- java入口函数_Java 函数入口
- 中国科学技术大学课程资源 最新github地址
- 基于Centos环境使用宝塔面板,搭建nextcloud
- 城市热点认证计费系统应用
- 【硬核】年底绩效面谈,涨薪,老板给加了1万块
- 【python】.pyx文件编译为.pyd过程中遇到的问题
- opencv曝光过度_软件开发|使用 OpenCV 进行高动态范围(HDR)成像
- Synaptic Ubuntu软件管理工具
- 关于python的数字类型、以描述错误的是_关于Python的数字类型,以下选项中描述错误的是...