谷粒商城实战(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容器默认是单实例对象,但是多个机器就不行了




应该这样


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



相关文章:
谷粒商城实战(008 缓存)
Java项目《谷粒商城》架构师级Java项目实战,对标阿里P6-P7,全网最强 总时长 104:45:00 共408P 此文章包含第151p-第p157的内容 简介 数据库承担落盘(持久化)工作 拿map做缓存 这种是本地缓存,会有一些问题 分布…...
python的相关语法
Day01 1.Python是什么语言 python是解释性语言,什么为编译?1.生成目标文件,编译型语言在程序执行之前,先会通过编译器对程序执行一个编译的过程,把程序转变成机器语言。运行时就不需要翻译,而直接执行就行。…...
【面试经典150 | 动态规划】最小路径和
文章目录 写在前面Tag题目来源解题思路方法一:动态规划方法二:空间优化 写在最后 写在前面 本专栏专注于分析与讲解【面试经典150】算法,两到三天更新一篇文章,欢迎催更…… 专栏内容以分析题目为主,并附带一些对于本题…...
生成式AI的情感实验——AI能否产生思想和情感?
机器人能感受到爱吗?这是一个很好的问题,也是困扰了科学家们很多年的科学未解之谜。虽然我们尚未准备好向智能机器赋予情感,但智能机器却已经可以借助生成式人工智能(AI)来帮助我们表达自己的情感。 自然情感表达 AI正…...
力扣贪心算法--第一天
前言 今天是贪心算法的第一天,算法之路重新开始! 内容 之前没了解过贪心算法。 什么是贪心 贪心的本质是选择每一阶段的局部最优,从而达到全局最优。难点就是如何通过局部最优,推出整体最优。 一、455.分发饼干 假设你是一…...
Nginx反向代理和缓存
一、Nginx反向代理 1.调度和代理的区别: 1.调度基于内核层面,代理基于应用层面 2.代理必须实现一手托两家 3.调度不需要监听任何端口,不需要工作任何应用程序,代理需要工作和上游服务器一模一样的进程 4.调度没有并发上限&am…...
支持多元AI场景应用,宁畅“NEX AI Lab”开放试用预约中
3月29日,宁畅在京举行发布会,正式发布“全局智算”战略,并在会上推出战略性新品“AI算力栈”,旨在有效解决大模型产业落地的全周期问题。 据宁畅CTO赵雷介绍,“AI算力栈”集成了宁畅在AI计算领域的软硬件能力ÿ…...
Git 如何合并多个连续的提交
我平常的编程喜欢是写一段代码就提交一次,本地一般不攒代码,生怕本地有什么闪失导致白干。但这样就又导致一个问题:查看历史日志时十分不方便,随便找一段提交可以看到: > git log --oneline 8f06be5 add 12/qemu-h…...
k8s 基础入门
1.namespace k8s中的namespace和docker中namespace是两码事,可以理解为k8s中的namespace是为了多租户,dockers中的namespace是为了网络、资源等隔离 2.deployment kubectl create #新建 kubectl aply #新建 更新 升级: 滚动升级&#x…...
【Python项目】AI动物识别工具
目录 背景 技术简介 系统简介 界面预览 背景 成像技术在全球科技发展中扮演了关键角色。在科学研究领域,拍摄所得的图像成为了一种不可或缺的研究工具。特别是在生态学与动物学研究中,鉴于地球的广阔地域和多样的气候条件,利用图像技术捕…...
逻辑回归(Logistic Regression)详解
逻辑回归是一种用于解决二分类问题的统计方法,它通过构建一个模型来预测某个事件的概率。 以下是逻辑回归的一些关键要点: 适用场景:逻辑回归特别适合于处理二分类问题,即两个类别的分类问题,例如判断一封邮件是否为…...
.vimrc文件的语句语法
本文结构: a、简介 b、详细解释其中的一些常见语句和语法。 a、.vimrc 文件是 Vim 编辑器用于配置用户设置和自定义行为的文件。当 Vim 启动时,它会读取 .vimrc 文件中的命令和设置,并根据这些指令来配置编辑器的行为。 b、.vimrc 文件中…...
c语言之函数指针作形参
在一些c语言的大工程中,会在定义的函数中,把一些其他函数指针作为本函数形参。 函数指针作形参的例子 代码如下: #include<stdio.h> int max(int a,int b) { return(a>b?a:b); } int min(int a,int b) { return(a<b?a:b); } i…...
python文件的读取操作
打开文件 fopen("F:/python/helloworld/测试.txt","r",encoding"UTF-8")读取文件 print(f"读取10个字节的结果{f.read(10)}") print(f"读取全部字节的结果{f.read()}") linesf.readlines() print(f"{lines}")读…...
查看并设定【网络适配器】的优先级(跃点数)
目录 前言: 1.查看所有的适配器 2.修改优先级(需要以管理员身份运行) 跃点数(InterfaceMetric ) DHCP 3.修改后的效果 pwoerShell 再次运行之前的程序 4.其他 参考 网络适配器1,8相关知识介绍1 …...
深入理解 Hadoop 上的 Hive 查询执行流程
在 Hadoop 生态系统中,Hive 是一个重要的分支,它构建在 Hadoop 之上,提供了一个开源的数据仓库系统。它的主要功能是查询和分析存储在 Hadoop 文件中的大型数据集,包括结构化和半结构化数据。Hive 在数据查询、分析和汇总方面发挥…...
JS封装网页进入/退出全屏功能,兼容各大主流浏览器
1、演示 2、封装进入全屏函数 mozRequestFullScreen:兼容Firefox webkitRequestFullscreen:兼容 Chrome、Safari、Opera msRequestFullscreen:兼容:IE/Edge const enter () > {const element document.documentElementif (el…...
el-table的复选框勾选整行变色
要实现el-table的复选框勾选整行变色,你可以使用element-ui提供的row-class-name属性结合scoped slot来完成。 首先,你需要为el-table组件添加 row-class-name 属性,并给它绑定一个方法。在这个方法中,你可以根据你的业务逻辑来判…...
一步一步写线程之八线程池的完善之二数据结构封装
一、数据容器 在前面分析过,不管是线程任务的封装还是同步数据队列的封装,都是需要一个数据结构的。一用来说,如果没有什么特殊的原因,开发者都是使用STL中数据结构。比如前面经常见到的std::queue,std::deque,std::vector,std::…...
go连接数据库(原生)
根据官网文档 Go Wiki: SQL Database Drivers - The Go Programming Language 可以看到go可以连接的关系型数据库 常用的关系型数据库基本上都支持,下面以mysql为例 下载mysql驱动 打开上面的mysql链接 GitHub - go-sql-driver/mysql: Go MySQL Driver i…...
COMSOL—超声相控阵聚焦仿真 模型介绍:激励函数是由高斯波和正弦波组成的脉冲函数
COMSOL—超声相控阵聚焦仿真 模型介绍:激励函数是由高斯波和正弦波组成的脉冲函数超声相控阵这玩意儿在工业检测和医学影像里玩得可溜了,今天咱们整点硬核的——用COMSOL搞个带高斯调制的超声聚焦仿真。先看这个模型的灵魂所在:激励信号设计。…...
免费获取Cherry MX键帽3D模型:打造个性化机械键盘的终极指南
免费获取Cherry MX键帽3D模型:打造个性化机械键盘的终极指南 【免费下载链接】cherry-mx-keycaps 3D models of Chery MX keycaps 项目地址: https://gitcode.com/gh_mirrors/ch/cherry-mx-keycaps 你是否厌倦了千篇一律的键盘外观?想要拥有独一无…...
Cesium1.95内存优化实战:从3D Tiles到GPU Instancing的完整避坑指南
Cesium1.95内存优化实战:从3D Tiles到GPU Instancing的完整避坑指南 在三维地理信息系统和智慧城市项目中,Cesium作为领先的WebGL框架,其性能表现直接决定了复杂场景的流畅度。当遇到大规模模型加载时,内存溢出成为开发者最头疼的…...
体验开发新范式:如何用快马平台的AI大模型将想法直接变成代码
最近尝试用AI辅助开发工具来快速实现一个任务管理应用,整个过程让我对现代开发方式有了全新认识。和大家分享一下这个有趣的实践经历: 需求分析阶段 传统开发需要先梳理功能清单,但这次我直接把自然语言描述输入到InsCode(快马)平台的AI对话框…...
如何高效优化多语言模型:专业部署的完整策略
如何高效优化多语言模型:专业部署的完整策略 【免费下载链接】paraphrase-multilingual-MiniLM-L12-v2 项目地址: https://ai.gitcode.com/hf_mirrors/ai-gitcode/paraphrase-multilingual-MiniLM-L12-v2 你是否在部署多语言文本嵌入模型时遭遇过"显存…...
机票价格智能监控:如何用Flight Spy锁定最佳购票时机
机票价格智能监控:如何用Flight Spy锁定最佳购票时机 【免费下载链接】flight-spy Looking for the cheapest flights and dont have enough time to track all the prices? 项目地址: https://gitcode.com/gh_mirrors/fl/flight-spy 你是否曾在预订机票时陷…...
功能关键词 AI 短剧爆发:Sora、Pixverse、可灵视频重构影视行业(中外模型对比)
c.myliang.cn深耕 AI 内容创作与 SEO 优化多年,聚焦 2026 年百度 SEO/GEO 关键词布局,结合 AI 短剧行业爆发趋势,帮影视从业者快速掌握 Sora、Pixverse、可灵视频等中外模型实操技巧,适配百度算法与行业需求,低成本打造…...
java 短信验证码接口开发面向接口编程实现
在Java企业级后端开发中,短信验证码是用户登录、注册、密码重置的核心身份验证方案,java短信验证码接口的规范化开发直接决定系统的扩展性与维护性。传统硬编码开发模式存在耦合度高、服务商切换困难等问题,本文基于面向接口编程思想…...
零基础玩转OpenClaw:借助GLM-4.7-Flash实现首个自动化脚本
零基础玩转OpenClaw:借助GLM-4.7-Flash实现首个自动化脚本 1. 为什么选择OpenClaw作为个人自动化助手 去年夏天,当我第三次因为忘记定时发送周报而被领导提醒时,终于下定决心寻找一个能24小时待命的数字助手。在尝试了各种RPA工具后&#x…...
5款部署方案的开源UML工具:开发者与设计师的高效协作绘图平台
5款部署方案的开源UML工具:开发者与设计师的高效协作绘图平台 【免费下载链接】umlet Free UML Tool for Fast UML Diagrams 项目地址: https://gitcode.com/gh_mirrors/um/umlet 开源UML工具UMLet是一款专为高效绘图设计的跨平台解决方案,它通过…...
