谷粒商城实战(010 缓存-解决数据一致性问题以及SpringCache的使用)

Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强

总时长 104:45:00 共408P

此文章包含第166p-第p172的内容


缓存一致性问题解决

redisson使用lua脚本,所以的锁都保证了原子性

改之前的代码

锁的粒度越小越好

如11号商品和12号商品 用同一把锁,12的并发也会影响11

数据一致性

目前主要是两种模式: 双写和失效模式



使用Canal

使用Canal可以实现数据异构

如:它会分析每天用户的访问记录 和每天的商品信息的更新,然后通过某些算法进行分析计算,生成用户异构系统用户商品推荐表

SpringCache


两个方法(两个功能)

第一个方法 根据名称得到缓存

第二个方法 得到所有的缓存的名字

缓存如果是北京市,那缓存的名字就相当于北京市的各个区的名字



整合springCache

使用步骤

*

可以给多个缓存区放置

这里是jdk序列化后的结果 可以转成纯文本

自定义缓存

key记得加单引号否则spring会以为是表达式

这里的过期时间在配置文件里设置,是毫秒为单位的,切记 同一个过期时间,可能会导致redis雪崩


自己写一个组件配置类

@EnableConfigurationProperties(CacheProperties.class) 的这个注解就把这个CacheProperties组件放到容器中了啊

直接放到参数里


清除缓存

处理两个缓存

也可以直接删除这个分区的所有数据

最好去掉前缀 使用默认的前缀

原理和不足




相关推荐
MY_TEUCK2 小时前
【Java 后端】SpringBoot 登录认证与会话跟踪实战(JWT + Filter/Interceptor)
java·开发语言·spring boot
今天长肉了吗2 小时前
银行风控项目踩坑实录:指标跑了6小时,风险评分全挂了
java
计算机程序定制辅导2 小时前
计算机小程序毕设实战-基于Spring Boot与微信小程序的考研资源共享平台设计与实现基于springboot+微信小程序的考研复习辅助平台【完整源码+LW+部署说明+演示视频,全bao一条龙等】
spring boot·微信小程序·小程序·课程设计
随读手机3 小时前
多式联运信息交互平台完整方案(2026版)
java·ai·eclipse·云计算·区块链
许彰午3 小时前
03-二叉树——从递归遍历到非递归实现
java·算法
nj01283 小时前
Spring 循环依赖详解:三级缓存、早期引用、AOP 代理与懒加载
java·spring·缓存
野生技术架构师4 小时前
2026年最全Java面试题及答案汇总(建议收藏,面试前看这篇就够了)
java·开发语言·面试
一只叫煤球的猫4 小时前
ThreadForge 源码解读一:ThreadScope 如何把并发任务放进清晰边界?
java·面试·开源
洛_尘5 小时前
Python 5:使用库
java·前端·python
程序员小假5 小时前
HTTP3 性能更好,为什么内网微服务依然多用 HTTP2?HTTP2 内网优势是什么?
java·后端