Redis缓存写入数据,解决Could not read JSON: Cannot construct instance of `xxx.xxDTO`的问题
场景:
使用 redis 存取对象的时候报错,报错信息如下:
:40 - 捕捉的异常信息:Could not read JSON: Cannot construct instance of `com.hkl.mpjoin.modules.finance.entity.UserInfo` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (byte[])"["com.hkl.mpjoin.modules.finance.entity.UserInfo",{"id":1,"userName":"张三","pwd":null,"email":null,"price":null,"isEnable":null,"remark":null,"deleted":null,"createBy":null,"createDate":null,"updateBy":null,"updateDate":null,"remarkStr":null}]"; line: 1, column: 52]; nested exception is com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.hkl.mpjoin.modules.finance.entity.UserInfo` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator)at [Source: (byte[])"["com.hkl.mpjoin.modules.finance.entity.UserInfo",{"id":1,"userName":"张三","pwd":null,"email":null,"price":null,"isEnable":null,"remark":null,"deleted":null,"createBy":null,"createDate":null,"updateBy":null,"updateDate":null,"remarkStr":null}]"; line: 1, column: 52]
:123 - 追踪栈异常信息:
:129 - com.hkl.mpjoin.utils.RedisUtil.indexList(RedisUtil.java:421)
:129 - com.hkl.mpjoin.modules.testOne.TestOneController.testRedisBasicUsage(TestOneController.java:103)
:129 - com.hkl.mpjoin.modules.testOne.TestOneController$$EnhancerBySpringCGLIB$$26bc22f7.testRedisBasicUsage(<generated>)
分析:
1、序列化对象的时候出错了
2、redis 的这些序列化方式,使用的是构造函数进行创建对象
解决:
1、在实体类或DTO类添加无参构造方法,如下
//方式一
public UserInfo() {
}//方式二
@AllArgsConstructor
@NoArgsConstructor
小结:
两种构造方式都可以,一种是显示写法,一种隐式写法
Redis缓存写入数据,解决Could not read JSON: Cannot construct instance of `xxx.xxDTO`的问题相关推荐
- 怎么查询redis缓存的数据_阿里开发十年写出这份「Redis简明教程」+「Redis实战」请你查收...
Redis是啥?用Redis官方的话来说就是: Redis is an open source (BSD licensed), in-memory data structure store, used ...
- 将数据写入到redis缓存/取出/删除 消息队列
将数据写入到redis缓存,写入 取出 删除 Redis的安装及开启服务就不在这章多讲,直接上写入缓存,从缓存中取出数据,取出成功后在删除缓存. 1::添加Redis组件包 1:写入缓存 //1获取R ...
- redis和mysql数据不一致_高并发下为什么 redis 和数据库不一致?怎么解决?
现在的web架构一般都用redis作为缓存层来减轻数据库的压力,数据在此架构下的读取问题,一般都是先判断redis缓存是否有数据,如果有,直接返回,否则读取数据库的数据,写入redis,返回数据,这是 ...
- redis专题:redis缓存穿透、缓存击穿、缓存雪崩等问题如何解决?
文章目录 1. 缓存穿透 1.1 缓存空对象 1.2 布隆过滤器 2. 缓存击穿(失效) 3. 缓存雪崩 在高并发项目中,redis作为热门中间件,在为项目带来便利性的同时,也存在一些隐患,比如缓存穿 ...
- 【项目优化01】使用Git管理项目及使用redis缓存短信验证码,菜品以及套餐数据
文章目录 1. 使用Git管理项目 2. redis缓存 2.1 使用redis缓存短信验证码 2.2 使用redis缓存菜品数据 2.3 使用Spring Cache缓存套餐数据 1. 使用Git管 ...
- redis一般缓存什么样数据_门户数据展示_Redis缓存数据
学习主题:门户数据展示_Redis缓存数据 一.Redis_3主3从集群环境搭建 谈单你对读写分离和主从同步的理解 读写分离:Master负责写数据的操作,salve负责读数据的操作 主从同步:sal ...
- 微服务项目实战技术点汇总:“尚硅谷的谷粒在线教育”七、redis数据库缓存页面数据、使用NUXT框架搭建前台系统环境、前台系统页面、首页轮播图(banner数据显示)、首页热门课程,名师推荐
文章目录 一.NUXT前台环境搭建 1.如何学习NUXT 2.下载安装使用NUXT入门模板starter-template 3.机制 二.编写静态页面 1.设置布局(首尾固定,中间用nuxt引用组件) ...
- Redis缓存一致性问题解决方案
在开发中经常使用到redis.redis作为缓存可以加快程序响应速度.从redis缓存中读取数据大致需要0.5ms左右,从数据库需要几毫秒.大致业务流程如下图: 每次设置缓存时都有一个过期时间,根据不 ...
- 第7章 集成Redis缓存
开心一笑 [跟老公冷战几天了,一句话也没说过. 早上老公是在忍不住了,跟我说:老婆,你的气消了吧. 我没理他, 他急了说:你生气这么多天了,就是充气的,也早就没气了. 我..] 新书购买 戳图购买 & ...
最新文章
- Kafka史上最详细原理总结 ----看完绝对不后悔
- C语言中static详细分析
- jsoncpp 库的使用方法
- 【经济法常识转摘】借款人逾期不还钱,利率如何确定?
- Laravel核心代码学习--用户认证系统(基础介绍)
- 160 - 16 bjanes.2
- java date.from_java datefromat
- 悉数11种主流NoSQL文档型数据库
- SQL基础面试题(五)
- android 15 activity跳转
- python dict排序
- python做一个爬虫要用到什么软件_python实现简单爬虫功能
- 计算机网络奇偶校验法,计算机网络基础知识之奇偶校验码
- Android蓝牙完全学习手册
- linux挂载移动硬盘 格式化_Linux下挂载移动硬盘(NTFS格式)
- 20182442-胡名琪
- 计算机网络教程第五版|微课版 - 第二章 物理层 - 重点概念
- 苹果手微信显示无法连接服务器,iPhone手机无法运行微信的4种解决技巧
- 使用Python解决Teamviewer被误认为商业用途的问题
- Oracle---查询
热门文章
- 出行大数据,滴滴发布400城数据可视化分析
- 高德地图map.add(marker),marker标记不显示
- 总结提高关键词排名最全的41个技巧
- ERP有哪些系统?运用在哪些行业?
- [爱情智慧]女人千万别觉得嫁了没钱的男人,他们就会因为感激对你好
- 网页彩色图片全部变灰色(黑白)
- 暑假小学期安卓开发笔记1——设计思路
- 中兴c600olt数据配置_中兴olt c300基本命令配置详解
- Microsoft SQL Server,附加数据库 错误:Error 916解决方法
- 边框(border)