解决Redis中Key值带有特殊字符问题
通过修改RedisTemplate的序列化器来解决
import com.fasterxml.jackson.annotation.JsonAutoDetect;
import com.fasterxml.jackson.annotation.PropertyAccessor;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.redis.connection.RedisConnectionFactory;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
import org.springframework.data.redis.serializer.StringRedisSerializer;@Configuration
public class RedisConfig {@Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory redisConnectionFactory) {RedisTemplate<Object, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(redisConnectionFactory);// 使用Jackson2JsonRedisSerialize 替换默认序列化Jackson2JsonRedisSerializer jackson2JsonRedisSerializer = new Jackson2JsonRedisSerializer(Object.class);ObjectMapper objectMapper = new ObjectMapper();objectMapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);objectMapper.enableDefaultTyping(ObjectMapper.DefaultTyping.NON_FINAL);jackson2JsonRedisSerializer.setObjectMapper(objectMapper);// 设置value的序列化规则和 key的序列化规则redisTemplate.setHashValueSerializer(jackson2JsonRedisSerializer);redisTemplate.setHashKeySerializer(new StringRedisSerializer());redisTemplate.setValueSerializer(jackson2JsonRedisSerializer);redisTemplate.setKeySerializer(new StringRedisSerializer());redisTemplate.afterPropertiesSet();return redisTemplate;}}
解决Redis中Key值带有特殊字符问题相关推荐
- redis中键值出现 \xAC\xED\x00\x05t\x00\x11的原因和解决方法
一.redis中键值出现乱码情况 1.1 问题描述 1.1.1 使用SpringBoot项目结合redis做缓存,发现redis客户端工具中db0库key为USER_USER_ID_1000的前缀出现 ...
- 为什么我Redis中key惊现“乱码”?
为什么Redis中key会惊现"乱码"? 最近在做一个秒杀项目,过程中大量应用到了redis. 而我在用ElasticJob进行数据化初始化到Redis数据库时发现这些key都出现 ...
- redis查看某一个key的大小_redis查看某个key redis中key的操作命令 - Redis - 服务器之家...
redis查看某个key redis中key的操作命令 发布时间:2017-04-02 来源:服务器之家 在该系列的前几篇博客中,主要讲述的是与Redis数据类型相关的命令,如String.List. ...
- python 下划线转驼峰_json字符串中key值下划线命名转换为驼峰命名
json字符串中key值下划线命名转换为驼峰命名: 例如: 原json串: String json= "{'user_name':'ok','user_sex':0,'object_info ...
- json字符串中key值下划线命名转换为驼峰命名
json字符串中key值下划线命名转换为驼峰命名: 例如: public class JsonUtils {public final static void convert(Object json) ...
- 从redis中取值 然后通过list进行分页查询
1.首先是往redis中存入数据: totalCost = yarnCost + hbaseCost + hdfsCost; m ...
- C++判断map中key值是否存在
C++ map中key值存在情况判定 1.count函数 count函数用于统计key值在map中出现的次数,map的key不允许重复,因此如果key存在返回1,不存在返回0 if (testMap. ...
- Redis中key的过期时间
Redis中key的过期时间 背景 实际项目开发中,我们经常会用到redis进行缓存存储,那么redist中key设置与不设置缓存时间,会给我们日常开发中带来哪些影响呢? 场景1:设置了key但是没有 ...
- Redis中存值是Hash冲突怎么解决的
Redis 中的 Hash和 Java的 HashMap 更加相似,都是数组+链表的结构.当发生 hash 碰撞时将会把元素追加到链表上 我们先来了解下 hash 的内部结构.第一维是数组,第二维是链 ...
最新文章
- PHP SOAP 扩展的使用
- 深度探索C++ 对象模型(7)-Data member的布局(无继承、继承无多态、继承多态、多层继承)
- Oracel中连接的总结(一)
- 声呐图像数据集_MaskedFace-Net 口罩人脸基准数据集,13万+图像数据
- REVERSE-PRACTICE-CthulhuOJ
- T-Sql备份还原数据库
- java内存管理的一些基础,内存溢出的解决方案
- pr警告项目使用计算机上目前不可用字体,pr2018以上新版字幕字体找不到的问题?...
- 计算机维汉输入法表格,维语输入法
- bch编码matlab,BCH码的编码方法.doc
- toastr 使用笔记
- xp系统启动sql服务器,XP系统,sqlserver服务启动了又自己停止,服务管理器点了启动随后马上就已停止!...
- 2018年中国房地产行业现状及行业发展趋势分析【转】
- MySQL中CONCAT和GROUP_CONCAT方法的区别
- 数值分析(7)-非线性方程求根
- python爬取js_Python爬取javascript(js)动态网页
- 电脑USB接口实现鼠标和键盘功能
- linux常用的指令
- java转换时间格式 yyyy-MM-dd转成yyyy年MM月dd日
- HTML5调用摄像头+视频特效+录制视频+录音+截图+变声+滤波+音频可视化
热门文章
- 【它山之玉】在高校工作和抓紧时间- 科学网马臻
- 北欧的Michael Learns To Rock的一首清澈见底的【Take Me To Your Heart】
- Mac 下面安装 Git 步骤
- SELECT list is not in GROUP BY clause and contains nonaggregated column
- 如何在excel2019指定的单元格中插入图片
- 弹窗代码(详细说明)
- 软件设计模式——用Java代码实现物种特征
- 2018年5月30日 星期三 天气多云
- 计算机工程陶瓷,捏陶瓷之形,赏中华之美
- EasyExcel报错com.alibaba.excel.exception.ExcelGenerateException: java.lang.ExceptionInInitializerError