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

直接放到参数里


清除缓存

处理两个缓存

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

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

原理和不足




相关推荐
用户31693538118315 小时前
Java连接Redis
redis
唐青枫18 小时前
Java JDBC 实战指南:从 Connection 到事务和连接池
java
一个做软件开发的牛马19 小时前
MyBatis-Plus 从零实战:完整搭建可运行 Demo,BaseMapper 零 SQL、Wrapper 条件构造、分页插件与代码生成器详解
java·后端
用户37215742613519 小时前
Java 处理 PDF 图片:提取 PDF 中的图片,并压缩 PDF 图片体积
java
用户37215742613519 小时前
Java 打印 Word 文档:从基础打印到高级设置
java
用户3521802454751 天前
当 Prompt 学会"热更新":Spring Boot × Nacos3 AI 实战
java·spring boot·ai编程
昵称为空C2 天前
手撸一个动态 SQL 执行引擎:不重启服务,在线增删改查任意数据库
spring boot·后端
东坡白菜2 天前
破局全栈:一个前端开发的Java入门实战记录(1)
java·全栈
唐青枫2 天前
Java Tomcat 实战指南:从 Servlet 容器到 Spring Boot 部署
java
wsaaaqqq2 天前
roudan:自由选择实体、灵活操作数据、快速写入数据库的 Java 框架
java