谷粒商城实战(008 缓存)

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

总时长 104:45:00 共408P

此文章包含第151p-第p157的内容


简介

数据库承担落盘(持久化)工作

拿map做缓存

这种是本地缓存,会有一些问题


分布式系统无法同步,而且会有数据一致性的问题

分布式缓存 应该使用缓存中间件


redis内存不足时可以使用分片集群

整合redis

ctrl+n




检查是否存在 使用的StringUtils是org.springframework家的

使用json的好处 跨语言跨平台兼容

序列化与反序列化

加了redis缓存后的压力测试



两种解决方法:

1 升级lettuce客户端 2021年12月已经没这个问题了 (没压测到堆内存溢出的,是因为spring引用的lettuce版本升级了 不是5.1.8了)

2 切换使用jedis

使用jedis:先排除lettuce 再使用jedis


吞吐量400 无异常


lettuce和jedis都封装了redis的api ,然后redisTemplate封装了这两种,所以可以用redisTemplate 也可以直接用jedis操作redis

缓存失效问题

缓存穿透 大量请求查询一个永不存在的数据
缓存雪崩 大量key同时失效
缓存击穿 热点词汇失效后 大量请求涌入


加锁
同步代码块


分布式锁

this 当前实例对象

spring容器默认是单实例对象,但是多个机器就不行了



应该这样

多复制几个程序 模拟分布式


相关推荐
高山上有一只小老虎18 分钟前
idea中设置快捷键风格
java·ide·intellij-idea
JH307318 分钟前
IDEA自带的Maven安装位置
java·maven·intellij-idea
Q_Q51100828523 分钟前
python+uniapp基于微信小程序的学院设备报修系统
spring boot·python·微信小程序·django·flask·uni-app
小毛驴85041 分钟前
在Spring Boot开发中,HEAD、OPTIONS和 TRACE这些HTTP方法各有其特定的应用场景和实现方式
spring boot·后端·http
梵得儿SHI43 分钟前
Java 反射机制核心类详解:Class、Constructor、Method、Field
java·开发语言·反射·class·constructor·java反射·java反射机制
迎風吹頭髮1 小时前
Linux内核架构浅谈44-Linux slab分配器:通用缓存与专用缓存的创建与使用
linux·spring·架构
m0_736927041 小时前
想抓PostgreSQL里的慢SQL?pg_stat_statements基础黑匣子和pg_stat_monitor时间窗,谁能帮你更准揪出性能小偷?
java·数据库·sql·postgresql
在云上(oncloudai)1 小时前
Amazon ElastiCache 全解析:打造高性能的智能缓存架构
缓存·架构
Jabes.yang1 小时前
Java面试大作战:从缓存技术到音视频场景的探讨
java·spring boot·redis·缓存·kafka·spring security·oauth2
zl9798991 小时前
SpringBoot-依赖管理和自动配置
spring boot·后端·状态模式