珍爱生活远离“缓存之战”——大话高并发之缓存应用技巧

news2024/11/17 21:18:42

文章目录

  • 🔊博主介绍
  • 🥤本文内容
    • 一、引言
    • 二、缓存略谈
    • 三、无人能挡的命中率
    • 四、衣柜里的宝贝,您选对了吗?
    • 五、敢用淘汰法,它有何等勇气?
    • 六、哪个 “自作主张” 的哥哥藏起了咱们的宝贝?
    • 七、善骑千里马
  • 📢文章总结
  • 📥博主目标

🔊博主介绍

🌟我是廖志伟,一名Java开发工程师、Java领域优质创作者、CSDN博客专家、51CTO专家博主、阿里云专家博主、清华大学出版社签约作者、产品软文专业写手、技术文章评审老师、问卷调查设计师、个人社区创始人、开源项目贡献者。🌎跑过十五公里、🚀徒步爬过衡山、🔥有过三个月减肥20斤的经历、是个喜欢躺平的狠人。

📕拥有多年一线研发和团队管理经验,研究过主流框架的底层源码(Spring、SpringBoot、Spring MVC、SpringCould、Mybatis、Dubbo、Zookeeper),消息中间件底层架构原理(RabbitMQ、RockerMQ、Kafka)、Redis缓存、MySQL关系型数据库、 ElasticSearch全文搜索、MongoDB非关系型数据库、Apache ShardingSphere分库分表读写分离、设计模式、领域驱动DDD、Kubernetes容器编排等。

📙有过从0到1的项目高并发项目开发与管理经验,对JVM调优、MySQL调优、Redis调优 、ElasticSearch调优、消息中间件调优、系统架构调优都有着比较全面的实战经验。

📘有过云端搭建服务器环境,自动化部署CI/CD,弹性伸缩扩容服务器(最高200台),了解过秒级部署(阿里云的ACK和华为云的云容器引擎CCE)流程,能独立开发和部署整个后端服务,有过分库分表的实战经验。

🎥经过多年在CSDN创作上千篇文章的经验积累,我已经拥有了不错的写作技巧,与清华大学出版社签下了四本书籍的合约,并将陆续在明年出版。这些书籍包括了基础篇、进阶篇、架构篇的📌《Java项目实战—深入理解大型互联网企业通用技术》📌,以及📚《解密程序员的思维密码–沟通、演讲、思考的实践》📚。具体出版计划会根据实际情况进行调整,希望各位读者朋能够多多支持!


文章目录

  • 🔊博主介绍
  • 🥤本文内容
    • 一、引言
    • 二、缓存略谈
    • 三、无人能挡的命中率
    • 四、衣柜里的宝贝,您选对了吗?
    • 五、敢用淘汰法,它有何等勇气?
    • 六、哪个 “自作主张” 的哥哥藏起了咱们的宝贝?
    • 七、善骑千里马
  • 📢文章总结
  • 📥博主目标

🌾阅读前,快速浏览目录和章节概览可帮助了解文章结构、内容和作者的重点。了解自己希望从中获得什么样的知识或经验是非常重要的。建议在阅读时做笔记、思考问题、自我提问,以加深理解和吸收知识。

💡在这个美好的时刻,本人不再啰嗦废话,现在毫不拖延地进入文章所要讨论的主题。接下来,我将为大家呈现正文内容。

🥤本文内容

CSDN

一、引言

关于我们这个行业里不得不说的就是,高并发实在是让人头疼啊。那么请记住,对付它的三个宝刀是:缓存、限流以及降级。尤其是那个叫"缓存"的家伙,简直像大力水手吃菠菜一样,能给我们带来焕然一新的活力。为了更好地运用这个像万金油一样的利器,咱这就来把它的精髓好好研究研究!

二、缓存略谈

嗯~,说到这儿,咱得先明白什么是缓存?简而言之嘛,就是把那些频繁被调用,但是却不用每次都从服务器获取的东西,提前存储到本地硬盘上。这不,就大大的提高了效率么?可是呐,这个玩意儿也不是随便用的,得看情况来。

三、无人能挡的命中率

首先,咱得看看缓存能不能像狙击枪一样,弹无虚发,一敲一个准儿。也只有当命中率足够高时,我们才能放心大胆的使用缓存。所以,erred access count, 总命中次数,还有hit rate这些都是咱评判子弹质量好坏的重要依据。

四、衣柜里的宝贝,您选对了吗?

好啦,现在咱明白了啥是命中率了,再来说说都有些什么好宝贝儿可以放在衣柜里呢?为了给您展现一下这些家伙分别有哪些特性,我特地下了点力气给它们分类统计了一番。这不,我们就看到colour region caching是针对某些颜色区域进行 caching;而cpu cache则是专门用于 CPU 内存方面的Cached memory;last frame caching则针对性价比较高的游戏帧视频缓存;pageset pacing缓存采用页面交错的策略,大大增强了缓存效果!fleet caching则是根据用户行为实时更新数据!哎哟妈呀,这么多好用的家伙,不怕挑不到一款合适你的!

五、敢用淘汰法,它有何等勇气?

博主世界中曾经流传着这样一句话:"不要被事物表面的美感所迷惑,因为你不知道什么时候他们就会把你抛弃。"没错,这就涉及到了我们今天要讲的第二部分内容——缓存淘汰算法。

六、哪个 “自作主张” 的哥哥藏起了咱们的宝贝?

但是,缓存本来就是实现高性能的利器,可别因小失大了。在这个复杂的江湖中,总有人偷走我们的宝藏,比如缓存穿透、缓存灰度和缓存雪崩等等坏分子。对付他们,咱可得学会保护自己。

七、善骑千里马

学会了解并合理运用缓存,可谓是在高并发计算这块土地上拧紧了油门,奔向更美好的未来。那是英勇无敌的探险家才能做到的事儿,咱岂能落后于人?频繁修改的数据可以通过定时重新加载缓存来解决;至于访问集中在某个时间段,咱就开启缓存预热,4更方便激活用户的活跃度;如果数据存在一致性问题且伴随着脏读现象的话,咱们就启用事务管理。当然,只有在武器设备完善、行进路线明确的前提下,咱才敢于去面对这个神秘的秘境哦!

CSDN

📢文章总结

对本篇文章进行总结:要想成为一颗耀眼的明珠,要学会如何使用正确的工具和方法,只有这样,我们才有可能抓住机遇,实现心中的梦想。所以,小伙伴们,继续加油吧!

🔔以上就是今天要讲的内容,阅读结束后,反思和总结所学内容,并尝试应用到现实中,有助于深化理解和应用知识。与朋友或同事分享所读内容,讨论细节并获得反馈,也有助于加深对知识的理解和吸收。

以梦为马,不负韶华

🔔如果您需要转载或者搬运这篇文章的话,非常欢迎您私信我哦~

🚀🎉希望各位读者大大多多支持用心写文章的博主,现在时代变了,🚀🎉 信息爆炸,酒香也怕巷子深🔥,博主真的需要大家的帮助才能在这片海洋中继续发光发热🎨,所以,🏃💨赶紧动动你的小手,点波关注❤️,点波赞👍,点波收藏⭐,甚至点波评论✍️,都是对博主最好的支持和鼓励!

  • 💂 博客主页: 我是廖志伟
  • 👉开源项目:java_wxid
  • 🌥 哔哩哔哩:我是廖志伟
  • 🎏个人社区:幕后大佬
  • 🔖个人微信号SeniorRD
  • 🎉微信号二维码SeniorRD

📥博主目标

探寻内心世界,博主分享人生感悟与未来目标

  • 🍋程序开发这条路不能停,停下来容易被淘汰掉,吃不了自律的苦,就要受平庸的罪,持续的能力才能带来持续的自信。我本是一个很普通的程序员,放在人堆里,除了与生俱来的盛世美颜,就剩180的大高个了,就是我这样的一个人,默默写博文也有好多年了。
  • 📺有句老话说的好,牛逼之前都是傻逼式的坚持,希望自己可以通过大量的作品、时间的积累、个人魅力、运气、时机,可以打造属于自己的技术影响力。
  • 💥内心起伏不定,我时而激动,时而沉思。我希望自己能成为一个综合性人才,具备技术、业务和管理方面的精湛技能。我想成为产品架构路线的总设计师,团队的指挥者,技术团队的中流砥柱,企业战略和资本规划的实战专家。
  • 🎉这个目标的实现需要不懈的努力和持续的成长,但我必须努力追求。因为我知道,只有成为这样的人才,我才能在职业生涯中不断前进并为企业的发展带来真正的价值。在这个不断变化的时代,我们必须随时准备好迎接挑战,不断学习和探索新的领域,才能不断地向前推进。我坚信,只要我不断努力,我一定会达到自己的目标。

🔔有需要对自己进行综合性评估,进行职业方向规划,我可以让技术大牛帮你模拟面试、针对性的指导、传授面试技巧、简历优化、进行技术问题答疑等服务。

可访问:https://java_wxid.gitee.io/tojson/

开发人员简历优化、面试突击指导、技术问题解答

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1270430.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

创新与高效共融,跨境电商ERP源码大趋势解析

跨境电商ERP源码是什么?它如何帮助企业实现高效管理和创新发展?我们将详细解释跨境电商ERP源码的概念,并探讨它的优势和价值。 跨境电商ERP源码是一种专门为跨境电商企业设计的软件源代码。它通过集成各种功能模块,包括订单管理、…

Facebook广告投放效果不佳?这些投放技巧我不允许你不知道!

众所周知,Facebook广告对于跨境卖家来说是非常有效的站外引流渠道,通过Facebook广告投放可以提高跨境卖家的产品销量和排名,但是有时明明广告已经投放出去了,却无法被受众看到,完全没有获得成果,或许你会怪…

日用品企业ERP有什么用?日用品企业ERP品牌有哪些

日用品是快消品,存在品牌多、出货量大、销售渠道广泛、经营数据量大、销售折扣变化多、成本容易出错等特点,并且不同的供应商有差异化的报价,另外供应商采购份额分析、库龄分析客户销售排名分析以及区域销售数据分析等各类分析报表的准确性和…

22款奔驰GLS450升级香氛负离子 淡淡的幽香

香氛负离子系统是由香氛系统和负离子发生器组成的一套配置,也可以单独加装香氛系统或者是负离子发生器,香氛的主要作用就是通过香氛外壳吸收原厂的香水再通过空调管输送到内饰中,而负离子的作用就是安装在空气管中通过释放电离子来打击空气中…

1.3 排序算法

1.1 冒泡排序 public class BubbleSort {public static void main(String[] args) {int[] arr {133,322,13,444,54,621,174,18,19,2};System.out.println(Arrays.toString(arr));BubSort(arr);System.out.println(Arrays.toString(arr));}//冒泡排序public static void BubSo…

投资5亿英镑!英国启动五项新量子项目

​(图片来源:网络) 近日,英国财政大臣Jeremy Hunt宣布,英国政府将投资5亿英镑(即6.26亿美元)为英国研究人员和初创企业提供人工智能项目的算力支持。 Jeremy Hunt还详细介绍了政府计划推出的五项新研究计划&#xff0c…

国内传统企业数字化转型升级,有哪些成功案例?

近年来,涌现出了很多使用零代码平台撬动一线业务管理效率的案例,比如: 山东滨州长山镇政府:仅用3小时搭建出监管平台,成功助力辖区300企业返岗复工;纳曲酒业:搭建市场费用和订单联动管控平台&a…

虚拟机指定开放数据库3306端口

1、查看当前防火墙状态: sudo firewall-cmd --state 2、开放指定端口 sudo firewall-cmd --zonepublic --add-port3306/tcp --permanent 3、重新加载防火墙配置 sudo firewall-cmd --reload 4、检查端口是否开放成功 sudo firewall-cmd --zonepublic --list-por…

如何自定义spring-boot-starter

1. 创建自定义starter 1.1 生成Maven工程 mvn archetype:generate -DarchetypeGroupIdorg.apache.maven.archetypes -DarchetypeArtifactIdmaven-archetype-quickstart -DarchetypeVersion1.4交互式输入groupId、artificatId、version,生成Maven工程后用IDEA打开 …

Python精讲 | 条件赋值和and-or技巧

大家好,欢迎来到 Crossin的编程教室 ! 在之前的 一段奇葩的1024代码 中,有这么一个写法: 看上去是一个由 and 和 or 组成的逻辑表达式。但实际的效果却相当于一个 if-else 的条件判断: if i % 5 4:D \n else:D 为什…

【python+Excel】读取和存储测试数据完成接口自动化测试

http_request2.py用于发起http请求 #读取多条测试用例 #1、导入requests模块 import requests #从 class_12_19.do_excel1导入read_data函数 from do_excel2 import read_data from do_excel2 import write_data from do_excel2 import count_case #定义http请求函数COOKIENon…

我在Vscode学OpenCV 图像处理一(阈值处理、形态学操作【连通性,腐蚀和膨胀,开闭运算,礼帽和黑帽,内核】)

文章目录 一、阈值处理1.1 OpenCV 提供了函数 cv2.threshold()和函数 cv2.adaptiveThreshold(),用于实现阈值处理1.1.1. cv2.threshold():(1)在函数cv2.threshold()中,参数threshold_type用于指定阈值处理的方式。它有以下几种可选的阈值类型…

认识并初步使用shell脚本

目录 一、什么是Shell脚本 二、变量与运算 三、逻辑判断 四、循环 五、函数 六、中断与继续 一、什么是Shell脚本 在前面学习了Linux的基本指令,而shell脚本其实就是是这些命令的集合。 那么为什么需要shell脚本呢? 因为可以用来实现一些复杂的操…

git丢弃本地操作,强制使用线上最新代码

借鉴:弃用本地分支所有代码,获取远程分支最新代码_git获取远程最新分支_小中.的博客-CSDN博客 1.问题:git pull结果发现本地仓库比线上代码提前l两个commit。本地未进行任何操作。需要直接使用线上最新代码。ps:Author都是某同事。 2.操作: …

旅游网站的技术SEO:技巧与最佳实践

技术SEO在旅游网站中的作用 旅游网站都是关于用户体验和参与度的。但是,在开始处理这些参数之前,您需要努力使用户登陆您的网站。这意味着你需要让你的网站在搜索引擎结果页面(SERP)中排名。 一旦你在搜索引擎结果中获得曝光&am…

什么是PDM图纸管理系统?PDM图纸管理系统主要功能有哪些?

PDM (Product Data Management) 图纸管理系统 是用于管理企业内部图纸和相关文件的软件系统。它提供了一个集中存储、组织和跟踪图纸和文件的平台,以确保团队成员能够轻松访问、共享和更新所需的工程设计和制造数据。 彩虹PDM系统|PDM产品数据管理系统|BOM管理|工艺…

记录仿钉钉审批流(将MySQL换成Oracle)走过的坑

需求:实现审批流程 在Gitee上发现了一个功能还OK的项目,于是就clone下来了(如下图) 原项目用MySQL很好启动,B站上作者还录制了视频,可以去学习 这里主要记录将MySQL换成Oracle出现的问题 首先&#xff0c…

详解API开发【电商平台API封装商品详情SKU数据接口开发】

1、电商API开发 RESTful API的设计 RESTful API是一种通过HTTP协议发送和接收数据的API设计风格。它基于一些简单的原则,如使用HTTP动词来操作资源、使用URI来标识资源、使用HTTP状态码来表示操作结果等等。在本文中,我们将探讨如何设计一个符合RESTfu…

Embassy 库下载代码示例

解决方案: swift import Embassy let downloader Downloader() // 使用代理主机和端口 downloader.useProxy(proxyHost: ") // 下载 URL 的内容 let content downloader.download(from: "") // 输出下载的内容 print(content) 这个程序首先…

STM32 Nucleo-64 boards 外设资源引脚对应关系图

STM32 Nucleo-64 boards 外设资源引脚对应关系图 1. STM32 NUCLEO-F103RB1.1 串口对应关系图1.2 I2C对应关系图【参考博文】1. STM32 NUCLEO-F103RB 1.1 串口对应关系图 1.2 I2C对应关系图 注意:STM32 NUCLEO-F103RB