谷粒商城实战(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组件放到容器中了啊

直接放到参数里


清除缓存

处理两个缓存

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

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

原理和不足




相关推荐
哎呀呀嗯呀呀16 分钟前
class 031 位运算的骚操作
java·算法·位运算
2401_8581205319 分钟前
古典舞在线交流平台:SpringBoot设计与实现详解
java·spring boot·后端
大白飞飞27 分钟前
IDEA创建、导入、删除maven项目
java·maven·intellij-idea
赐你岁月如歌31 分钟前
如何使用ssm实现基于web的网站的设计与实现+vue
java·后端·ssm
2401_857297911 小时前
秋招内推2025-招联金融
java·前端·算法·金融·求职招聘
一 乐1 小时前
考研论坛平台|考研论坛小程序系统|基于java和微信小程序的考研论坛平台小程序设计与实现(源码+数据库+文档)
java·数据库·学习·考研·微信·小程序·源码
一 乐1 小时前
租拼车平台|小区租拼车管理|基于java的小区租拼车管理信息系统小程序设计与实现(源码+数据库+文档)
java·数据库·vue.js·微信·notepad++·拼车
xmh-sxh-13142 小时前
如何选择数据库架构
java
jxxchallenger2 小时前
踩坑spring cloud gateway /actuator/gateway/refresh不生效
java·数据库·gateway
茶卡盐佑星_2 小时前
强缓存和协商缓存的区别
缓存