当前位置: 首页 > news >正文

Redis 反序列化失败

文章目录

    • 问题
    • 原序列化配置
    • 修改配置
    • 解决方法

问题

com.fasterxml.jackson.databind.exc.MismatchedInputException: Cannot construct instance of org.springframework.security.core.authority.SimpleGrantedAuthority (although at least one Creator exists): cannot deserialize from Object value (no delegate- or property-based Creator) at [Source: (byte[])"…

原序列化配置

    @Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(factory);GenericJackson2JsonRedisSerializer genericJackson2JsonRedisSerializer = new GenericJackson2JsonRedisSerializer();StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// 使用 StringRedisSerializer 来序列化和反序列化key 的值redisTemplate.setKeySerializer(stringRedisSerializer);redisTemplate.setValueSerializer(genericJackson2JsonRedisSerializer);// hash的key也采用StringRedisSerializer 的序列化方式redisTemplate.setHashKeySerializer(stringRedisSerializer);redisTemplate.setHashValueSerializer(genericJackson2JsonRedisSerializer);redisTemplate.afterPropertiesSet();return redisTemplate;}

修改配置

 @Beanpublic RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {RedisTemplate<String, Object> redisTemplate = new RedisTemplate<>();redisTemplate.setConnectionFactory(factory);// String的序列化StringRedisSerializer stringRedisSerializer = new StringRedisSerializer();// json序列化配置GenericFastJsonRedisSerializer fastJsonRedisSerializer = new GenericFastJsonRedisSerializer();// key采用String的序列化方式redisTemplate.setKeySerializer(stringRedisSerializer);// value的序列化方式采用fastJson的方式redisTemplate.setValueSerializer(fastJsonRedisSerializer);// hash的key也采用String 的序列化方式redisTemplate.setHashKeySerializer(stringRedisSerializer);// hash的value序列化方式采用fastJsonredisTemplate.setHashValueSerializer(fastJsonRedisSerializer);redisTemplate.afterPropertiesSet();return redisTemplate;}

解决方法

使用 GenericFastJsonRedisSerializer替换 GenericFastJsonRedisSerializer

http://www.lryc.cn/news/247031.html

相关文章:

  • uniapp 导航分类
  • Vue + Element UI 实现复制当前行数据功能及解决复制到新增页面组件值不更新的问题
  • 智慧化工~工厂设备检修和保全信息化智能化机制流程
  • 【LeetCode热题100】【哈希】字母异位词分组
  • 基于C#实现Bitmap算法
  • 科学与工程计算基础(数值计算)知识点总结
  • oracle查询开始时间和结束时间之间的连续月份
  • 通过 python 脚本迁移 Redis 数据
  • nodejs之express学习(1)
  • 【LeetCode】121. 买卖股票的最佳时机
  • Vue3-VueRouter4路由语法解析
  • ChromeDriver最新版本下载与安装方法
  • illuminate/database 使用 四
  • Spring面向切面编程(AOP);Spring控制反转(IOC);解释一下Spring AOP里面的几个名词;Spring 的 IoC支持哪些功能
  • vatee万腾的科技征途:Vatee独特探索的数字化力量
  • MySQL学习day03
  • 《QT从基础到进阶·三十七》QWidget实现左侧导航栏效果
  • sftp学习
  • C++之STL库:string类(用法列举和总结)
  • 小程序中的大道理--综述
  • tlais智能学习辅助系统-修改部门功能实现
  • GLM: 自回归空白填充的多任务预训练语言模型
  • 函数递归所应满足的条件
  • Python入职某新员工大量使用Lambda表达式,却被老员工喷是屎山
  • Android Bitmap保存成至手机图片文件,Kotlin
  • frp V0.52.3 搭建
  • 最近数据分析面试的一点感悟...
  • ZYNQ_project:IIC_EEPROM
  • Leetcode 2940. Find Building Where Alice and Bob Can Meet
  • C++ 泛型编程,函数模版和类模版