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

谷粒商城实战(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容器默认是单实例对象,但是多个机器就不行了
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

应该这样
在这里插入图片描述
在这里插入图片描述

多复制几个程序 模拟分布式
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


相关文章:

  • 一维卷积神经网络的特征可视化
  • MySQL日志探索——redo log和bin log的刷盘时机详解
  • 实景三维:城市数据要素的新维度
  • YOLOv2
  • C++核心高级编程 --- 3、函数提高
  • 2024年阿里云服务器2核8G、4核16G、8核32G配置收费标准
  • Spring使用(一)注解
  • 梨花带雨网页音乐播放器二开优化修复美化版全开源版本源码
  • qT 地图显示飞机轨迹
  • C语言_第一轮笔记_指针
  • 数据仓库——事实表
  • 03-MySQl数据库的-用户管理
  • Stable Diffusion扩散模型推导公式的基础知识
  • R语言颜色细分
  • Leaflet使用多面(MultiPolygon)进行遥感影像掩膜报错解决之道
  • 【译】JS基础算法脚本:字符串结尾
  • hexo+github搭建个人博客
  • 《微软的软件测试之道》成书始末、出版宣告、补充致谢名单及相关信息
  • 【附node操作实例】redis简明入门系列—字符串类型
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • eclipse的离线汉化
  • Go 语言编译器的 //go: 详解
  • HTML5新特性总结
  • Javascripit类型转换比较那点事儿,双等号(==)
  • Javascript Math对象和Date对象常用方法详解
  • Java知识点总结(JavaIO-打印流)
  • Koa2 之文件上传下载
  • Mocha测试初探
  • nodejs调试方法
  • vue总结
  • 编写高质量JavaScript代码之并发
  • 反思总结然后整装待发
  • 诡异!React stopPropagation失灵
  • 入口文件开始,分析Vue源码实现
  • 时间复杂度与空间复杂度分析
  • 使用Envoy 作Sidecar Proxy的微服务模式-4.Prometheus的指标收集
  • 写给高年级小学生看的《Bash 指南》
  • TPG领衔财团投资轻奢珠宝品牌APM Monaco
  • 阿里云服务器购买完整流程
  • ## 临床数据 两两比较 加显著性boxplot加显著性
  • #调用传感器数据_Flink使用函数之监控传感器温度上升提醒
  • ( 10 )MySQL中的外键
  • (5)STL算法之复制
  • (LeetCode 49)Anagrams
  • (zt)最盛行的警世狂言(爆笑)
  • (分布式缓存)Redis哨兵
  • (三)Pytorch快速搭建卷积神经网络模型实现手写数字识别(代码+详细注解)
  • (新)网络工程师考点串讲与真题详解
  • (转)程序员疫苗:代码注入
  • (转)母版页和相对路径
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • .a文件和.so文件
  • .cn根服务器被攻击之后
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET DataGridView数据绑定说明