当前位置: 首页 > article >正文

12、本地缓存分布式缓存(未完待续)

1、哪些数据适合放入缓存?

  • 即时性、数据一致性要求不高的
  • 访问量大且更新频率不高的数据(读多,写少)

2、本地缓存

1、本地缓存,如果是单体项目,部署到一台服务器上,就不存在什么问题,如果项目是以分布式的方式部署的话,就存在问题了,就是每台服务器里面都自带一个本地缓存。
2、分布式缓存-本地模式在分布式下的问题
在这里插入图片描述
存在两个问题:
1)在分布式查询时,每次查询的服务器可能不同,而本地缓存只负责本台服务器的缓存,这样就会导致当请求路由到不同的服务器时,都需要先查询本地缓存,如果缓存没有,再去查询数据库,这样的操作同样会操作多次数据库。
2)如果某一个数据发生变化,例如A服务器,那么就会修改A服务器的缓存数据,但是下次再请求查询时可能会路由到B服务器,但是B服务器的本地缓存中的数据还是原来的脏数据,就会导致数据不一致的问题。

3、分布式缓存的正确使用姿势
**加粗样式**
使用缓存中间件的好处:
1)数据集中管理
2)当缓存数据量增大时,缓存中间件可以扩容【做集群】,数据可分片存储,打破了本地缓存的容量限制,实现高可用

3、整合Redis

1、整合步骤:
1)引入data-redis-stater依赖;
2)简单配置redis的host,password等信息;
3)使用SpringBoot自动配置好的StringRedisTemplate来操作Redis;

在这里插入图片描述
2、实际项目使用
在这里插入图片描述

4、压力测试

1、会产生堆外内存溢出:OutOfDirectMemoryError


http://www.kler.cn/a/521409.html

相关文章:

  • Android的签名
  • uvm timeout的哪些事
  • 2025.1.26机器学习笔记:C-RNN-GAN文献阅读
  • 有趣的网站
  • VUE3 使用路由守卫函数实现类型服务器端中间件效果
  • ListOJ14:环形链表II(寻找环的入口点)
  • Spring Security(maven项目) 3.0.2.6版本—下
  • DeepSeek学术题目选择效果怎么样?
  • AWS Serverless Application Repository
  • Anaconda使用教程 如何conda配置多版本Python环境
  • 【力扣:新动计划,编程入门 —— 题解 ③】
  • 【Oracle】修改表字段顺序 保留原数据
  • Jenkins安装部署(以及常见报错解决方案),jdk版本控制器sdkman
  • 2025/1/22 [抓包] Fiddler
  • redis的分片集群模式
  • 【Elasticsearch】index:false
  • Flutter子页面向父组件传递数据方法
  • 几款小软件(含国外),很好用
  • 统计学中的样本概率论中的样本
  • Arduino大师练成手册 -- 控制 MH-SD 卡模块