redis的key与value乱码问题

  • key乱码问题
    因redis默认使用JdkSerializationRedisSerializer来进行序列化,造成key是乱码,如下:
  • 解决key乱码
@Configuration
public class RedisConfig {   @Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory factory) {//创建模板类RedisTemplate<Object, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);RedisSerializer stringSerializer = new StringRedisSerializer();template.setKeySerializer(stringSerializer);template.setValueSerializer(stringSerializer);template.setHashKeySerializer(stringSerializer);template.setHashValueSerializer(stringSerializer);return template;}
  • 但是不建议使用此方法,因为这种方式key与value都只能存储String类型的数据

  • 修改后的代码

@Configuration
public class RedisConfig {@Bean(name = "springSessionDefaultRedisSerializer")public GenericJackson2JsonRedisSerializer getGenericJackson2JsonRedisSerializer(){return new GenericJackson2JsonRedisSerializer();}@Beanpublic RedisTemplate<Object, Object> redisTemplate(RedisConnectionFactory factory) {//创建模板类RedisTemplate<Object, Object> template = new RedisTemplate<>();template.setConnectionFactory(factory);// 配置默认的序列化器template.setDefaultSerializer(getGenericJackson2JsonRedisSerializer());//redis默认使用JdkSerializationRedisSerializer来进行序列化,造成key是乱码,使用下列进行序列化,修复乱码//解决key乱码问题RedisSerializer<String> stringSerializer = new StringRedisSerializer();template.setKeySerializer(stringSerializer);template.setHashKeySerializer(stringSerializer);//value不建议使用stringSerializer,因为使用后只能存String类型的值,其他类型不支持/*** template.setValueSerializer(stringSerializer);* template.setHashValueSerializer(stringSerializer);*/return template;}
  • 修改后的方法对于日期字段好像还是有问题,因为已满足需求,所以没尝试了

redis的key与value乱码问题相关推荐

  1. 为什么我Redis中key惊现“乱码”?

    为什么Redis中key会惊现"乱码"? 最近在做一个秒杀项目,过程中大量应用到了redis. 而我在用ElasticJob进行数据化初始化到Redis数据库时发现这些key都出现 ...

  2. Redis整合Spring Data Redis 开发key和value乱码

    Spring整合Redis默认使用的是JDK的序列化 将key,value的序列化改成Spring的就行了. 这种在 可视化界面  看见□□ 其实只是可视化界面显示问题, 真正的数据, 其实并无乱码. ...

  3. 关于springboot集成redis及关于redis的Key 乱码问题

    一.在pom文件中引入redis <dependency><groupId>org.springframework.boot</groupId><artifa ...

  4. redis 值字符串前面部分乱码_Spring-RedisTemplate写入数据乱码问题的复现与解决

    org.springframework.data.redis是Spring框架对Redis的默认集成,我们在实际项目中,也经常使用它的RedisTemplate去操作Redis,一般来说没什么问题,但 ...

  5. redis 值字符串前面部分乱码_解决spring boot redis序列化key-value乱码

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

  6. redis企业级应用(下)-如何维护redis的key

    2019独角兽企业重金招聘Python工程师标准>>> 在实际项目开发中,我们会有很多的地方会用到redis,当然也会设置很多的key,但是一旦这些key键多起来了难免会造成重复,或 ...

  7. 查看redis缓存大小_一个 bug 引发了服务器崩溃,对应 redis 的 key 回收原理你清楚了吗?...

    1 背景 项目中使用了 redis 做旁路缓存.读请求到来时,有以下操作:1.检查缓存,有则返回2.没有则读取数据库,将结果回写到缓存中. 写请求到来时,有以下操作:1.更新数据库 2.更新缓存(实际 ...

  8. Redis 键(key) 命令

    Redis 键(key) 命令 命令 描述 Redis DEL 命令 该命令用于在 key 存在是删除 key. Redis Dump 命令 序列化给定 key ,并返回被序列化的值. Redis E ...

  9. Redis 热 Key 发现以及解决办法

    背景介绍 最近在技术交流微信群里看大家讨论技术,其中有谈到 Redis 热 Key 的一些问题解决方案,我也仔细思考了一下我们目前系统中 Redis 的使用场景,我们是不是也存在热 Key 问题,或者 ...

  10. Redis的key和value大小限制

    Redis的key和value大小限制 今天研究了下将java bean序列化到redis中存储起来,突然脑袋灵光一闪,对象大小会不会超过redis限制?不管怎么着,还是搞清楚一下比较好,所以就去问了 ...

最新文章

  1. python读取压缩包中csv文件
  2. 零基础如何学好Python?这2点一定要明白
  3. VC控件 Progress Control
  4. ConcurrentHashMap中的2的n次方幂上舍入方法
  5. $(document).ready() 和 window.onload 的区别
  6. 宝贝,我帮你清了购物车哦!
  7. 最全银行IT核心系统:研究框架(165页)
  8. 目标检测、语义分割性能指标
  9. mysql数据库密码怎么修改_MySQL数据库密码如何修改?
  10. pc端+移动端电商源码
  11. win8metro应用磁贴背景修改说明
  12. 计算机网络-字符编码的由来(为什么会有乱码,ASCII、Unicode、GBK和UTF-8字符编码区别)
  13. 天梯赛HBU训练营—— 敲笨钟(运行时错误)
  14. 莱布尼兹懂得超实数吗?
  15. Web前端成都培训机构
  16. 电脑通过手机上网的方法
  17. 2020团队天梯赛-正赛-L3题目集
  18. android 获取屏幕的物理尺寸
  19. 计算机信息世界PPT,奇妙的信息世界课件.ppt
  20. Kaggle系列(3)- Telco Customer Churn

热门文章

  1. MFC如何正常关闭一个程序
  2. mysql 5.7.16 忘记root 密码 如何修改root密码
  3. win7纯净版64位系统下载
  4. Python新闻网站项目-4.数据处理和算法应用
  5. Android底层开发
  6. 利用matlab进行Vissim二次开发,史上最详细
  7. dev c 编程语言,devc如何自定义头文件并使用
  8. 软件如何上传虚拟服务器,本地软件传到虚拟机上
  9. Dev C++下载地址和安装教程(图解版)
  10. 快点来学吧!Spring事务是如何传播的?快来收藏!