啊湫----今天做项目遇到的redis缓存问题---解决方案

演示缓存问题

在进行 前端某个功能更新时   传递的参数 问题 导致 缓存储存 覆盖  只缓存到  传递参数的  值

image

更新完毕后 进行 存储到redis当中  只存入了 当前这个不可以属性和一个id   其它的参数值 u覆盖默认为  空 '  null '

image 缓存储存 覆盖 
image.png

解决办法

一、进行使用糊涂(Hutool) 工具进行解决

问题: 当前端某个功能 提交数据  但是数据不全 导致存储到缓存  获取到的数据 缺失

先进行根据传递来的 id  查询出  对应的对象

Provider selectById = this.providerMapper.selectById(provider.getId());

在进行使用糊涂工具 进行 覆盖

把不为空的属性 覆盖到  selectById  合并成一个 完整的数据集

-- 参数一为  传递来的对象   参数二为 被覆盖对象

BeanUtil.copyProperties(provider, selectById, CopyOptions.create().setIgnoreNullValue(true).setIgnoreError(true));

最后进行更新

this.providerMapper.updateById(provider);

在返回缓存 即可

return this.providerMapper.selectById(provider.getId());

========================================================

# 方案2

先执行更新  可在返回时进行查询一边

this.providerMapper.updateById(provider);
return this.providerMapper.selectById(provider.getId());

代码演示

image

这个bug有点小难受
下次再见 拜拜!

posted @   杨不易呀  阅读(153)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
点击右上角即可分享
微信分享提示