最新要闻
- 环球动态:自动驾驶驶向何方
- 天天动态:高通胀正掏空美国人储蓄 近半民众陷入财务困境:鸡蛋都吃不起节奏
- 每日快报!贵州贵阳多地突降冰雹!现场视频画面:还伴随闪电
- 国内成品油零售价今晚即将下调:预计下跌0.05元/升!
- 世界新动态:体验完百度的文心一言 我只能说:它胆子够大!
- 天天热点评!好评率98%的民国武侠动作游戏:终于要上手游了!
- 天天观焦点:生产力起飞!微软正式推出Microsoft 365 Copilot:AI全面植入Office全家桶
- 据报道 特斯拉Model S的纽伯格林赛道比保时捷Taycan还快
- 当前热门:加速颠覆燃油车!汉、唐冠军版上市:双车20.98万起
- 全球快看:从小吃到大的腌菜 竟是“垃圾堆”生产?被315暴击的进来
- 当前快看:群友们的表情包《九十期》
- 每日视点!男子镜头前嗨舞被羊顶翻 网友看完大笑:做人不能太狂浪
- 每日头条!自媒体捏造董明珠和王自如恋情!龚文祥公开致歉:希望取得原谅
- 今日快看!Win11最新正式版闯大祸:SSD性能不忍直视
- 天天即时看!微软签署第四份《使命召唤》十年协议:索尼仍不愿妥协
- 【天天聚看点】男孩长蛀牙爸爸用电钻钻牙止痛 被网友疯狂指责:太危险了
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
【全球独家】聊聊缓存
在设计高并发、高性能的系统架构时,缓存是绕不开的一个话题,之所以用缓存,是因为不同的存储介质的访问速度存在巨大差异,例如SSD(固态硬盘)每秒钟可以读写几千次,而内存的随机读写速度是SSD的10万倍。使用内存作为缓存来加速应用程序的访问速度,是几乎所有高性能系统都会采用的方法。
缓存的思想很简单:把低速存储的数据,复制一份放到高速存储中,用来加速数据访问。
缓存的分类
缓存主要分为两大类:
(资料图片仅供参考)
- 读写缓存
- 只读缓存
这两类缓存的区别在于更新数据的时候是否经过缓存。
读写缓存
Kafka使用的PageCache就是典型的读写缓存。操作系统会利用系统空闲的物理内存来给文件读写做缓存,应用程序在写文件的时候,操作系统会先把数据写入到PageCache中,数据在成功写到PageCache之后,对于用户代码来说,写入就结束嘞。操作系统再通过异步的方式将数据更新到磁盘的文件中。应用程序在读文件的时候,操作系统也是先尝试从PageCache中寻找数据,如果找到就直接返回数据,找不到就会触发一个缺页中断,然后操作系统把数据从文件读取到PageCache中,再返回给应用程序。
我么可以看到写数据时,并不是同时将数据写到PageCache和磁盘上,这中间会有一个延迟。操作系统可以保证,即使是应用程序意外退出了,操作系统也会把这部分数据同步到磁盘上,但是如果服务器突然掉电了,这部分数据就会丢失。
读写缓存这种设计,天然就不是可靠的,这是一种牺牲数据一致性换取性能的设计。
写缓存的实现是非常复杂的,应用恒旭不停地更新PageCache中的数据,操作系统需要记录哪些数据有变化,同时还要在另外一个线程中,把缓存中变化的数据更新到磁盘中。在提供并发读写的同时来异步更新数据,这个过程中要保证数据的一致性,并且有非常好的性能,很不容易。
Kafka为什么可以使用PageCache提升性能?
Kafka可以使用PageCache并取得性能提升,有三个原因:
- 消息队列中数据的读写比例基本是1:1,我们用消息队列发送的大部分数据都是一收一发的。
- Kafka不是靠磁盘来保证数据的可靠性,它更依赖于不同节点上的多副本来解决数据可靠性问题。
- PageCache的读写缓存是操作系统实现的,Kafka只需要按照正确的方法来使用就可以了,不会涉及到实现复杂度的问题。
对于不同的使用场景,我们选择缓存的方式也有区别,如果读次数是写次数的几倍到几十倍,那么可以选择只读缓存,如果数据的读写次数基本一致,那么可以选择读写缓存。
只读缓存
对于只读缓存来说,我们需要考虑一个问题:缓存的数据来源于磁盘,那么应该怎么更新缓存中的数据呢?
我们可以有三种方法来更新只读缓存的数据:
- 数据更新时,同时更新磁盘和缓存,这种方法可能会带来数据不一致的问题,例如我们是选择同步还是异步来更新缓存?如果同步更新,磁盘更新成功了,缓存更新失败嘞,需要反复重试来保证更新成功吗?如果多次重试都失败,那么这次更新算成功还是失败呢?如果是异步更新缓存,怎么保证更新的时序?
- 定时将磁盘上的数据同步到缓存中,同步时可以采用全量更新,也可以选择增量更新。这种方法的缺点是缓存更新不会很及时,优点是实现起来非常简单。
- 我们不去更新缓存中的数据,而是给缓存中的每条数据设置一个比较短的过期时间,数据过期以后即使它还在缓存中,我们也会认为它不再有效,需要从磁盘中再次加载,这样就实现了数据更新。
缓存置换策略
当应用程序要访问某些数据时,如果这些数据在缓存中,那么直接访问缓存中的数据就可以了,这种情况我们称为一次缓存命中;如果数据不在缓存中,那只能去磁盘访问数据,我们称为缓存穿透。
一般来说我们都会在数据首次被访问时,把这条数据放到缓存中,随着访问的数据越来越多,缓存空间会被占完,这时就需要把缓存中的一些数据删掉,以便存放新的数据,这个过程称为缓存置换。
我们有两种缓存置换思路:
- 根据业务逻辑,定制化缓存置换策略。例如,当我们知道某些数据已经被删了,永远不会再访问到,那么优先置换这些数据是没有问题的。
- 使用通用的置换算法,例如LRU算法, 也称为最近最少使用算法,它的思想是最近刚刚被访问到的数据,它在将来被访问的可能性也很大,而很久都没有被访问过的数据,未来再被访问的几率也不大。
关键词:
读Java性能权威指南(第2版)笔记19_垃圾回收F
【全球独家】聊聊缓存
环球动态:自动驾驶驶向何方
天天动态:高通胀正掏空美国人储蓄 近半民众陷入财务困境:鸡蛋都吃不起节奏
为了改桥接,我决定破解中兴F450G V2光猫
每日快报!贵州贵阳多地突降冰雹!现场视频画面:还伴随闪电
国内成品油零售价今晚即将下调:预计下跌0.05元/升!
世界新动态:体验完百度的文心一言 我只能说:它胆子够大!
天天热点评!好评率98%的民国武侠动作游戏:终于要上手游了!
天天观焦点:生产力起飞!微软正式推出Microsoft 365 Copilot:AI全面植入Office全家桶
据报道 特斯拉Model S的纽伯格林赛道比保时捷Taycan还快
NodeJS 实战系列:模块设计与文件分类
环球新动态:计算,存储,网络虚拟化区别
当前热门:加速颠覆燃油车!汉、唐冠军版上市:双车20.98万起
全球快看:从小吃到大的腌菜 竟是“垃圾堆”生产?被315暴击的进来
即时看!MyBatis
当前快看:群友们的表情包《九十期》
每日视点!男子镜头前嗨舞被羊顶翻 网友看完大笑:做人不能太狂浪
每日头条!自媒体捏造董明珠和王自如恋情!龚文祥公开致歉:希望取得原谅
今日快看!Win11最新正式版闯大祸:SSD性能不忍直视
新动态:设计一款可扩展和基于windows系统的一键处理表格小工具思路
天天即时看!微软签署第四份《使命召唤》十年协议:索尼仍不愿妥协
【天天聚看点】男孩长蛀牙爸爸用电钻钻牙止痛 被网友疯狂指责:太危险了
全球讯息:20.98万元起 2023款比亚迪唐DM-i上市:全系升级铝合金悬架
热点聚焦:冲击百万销量!比亚迪汉DM-i、DM-p补贴10000元现金
世界观速讯丨点积、内积、外积、叉积、张量积——概念区分
day05-Lombok、SpringInitializer
【世界聚看点】国家推出稳定2023年大豆生产一揽子支持政策
当前关注:双拖布+超大吸力!小米米家扫拖机器人3S发售:千元旗舰
世界视点!特斯拉一体化压铸工艺被质疑增加修车成本 一个小碰撞可能要修11万
精彩看点:追上Intel AMD锐龙7000处理器终于用上192GB内存:频率满血
环球看热讯:315全景观察:深情主播“连哄带骗” 爸妈的钱就没了
最新:无解了!微软将推出基于GPT-4的Office 365服务 实用性拉满
【焦点热闻】北京通州区汽车消费券活动时间是什么时候?
Redis监控
sed文本处理工具常见用法
每日看点!Prometheus 监控系统1
Java中的NIO
环球快报:带你全方面了解字节 A/B 实验的文化与工具
世界新资讯:【金融街发布】交易商协会发布企业资产证券化基础性制度
【世界播资讯】重庆龙凤胎熊猫宝宝取名“渝可”“渝爱”
速看:《小美人鱼》剧照还原动画经典场景:就是肤色不太对
头条焦点:中国制造!索尼第四代降噪豆XM5佩戴/音质/快充全面升级:AirPods Pro2劲敌
老人墓中藏13万现金全部霉变 专业能手全力抢救:官方科普纸钞如何保管
海底捞部分门店取消免费美甲:只能付费购买穿戴甲
视讯!SQLMap 源码阅读
今日观点!abc285G
环球精选!JVM -Xss
【高端访谈·城市力量】“双碳”背景下农商银行如何“点绿”成金?——访秦农银行党委书记、董事长李彬
今热点:五菱电动“吉姆尼” 宝骏悦也续航里程公布:能跑303公里
董明珠要玩大的?格力成立房地产新公司 投资数亿元
东方甄选称被骗了 虾品供应商发声:不认可甩锅行为
热点在线丨百度文心一言申请页被挤爆:预约1小时涌入3万企业
环球快讯:现实版GTA!美劫匪偷直升机因操作失误当场坠毁:一地碎片
国宝大熊猫的视频_国宝大熊猫的故事
66.类型转换
快讯:【0基础学爬虫】爬虫基础之抓包工具的使用
天天热头条丨制作学生信息管理系统
文心一言正式对标GPT-4,是青铜还是王者?
全球播报:恒生指数16日收跌1.72% 互联网科技股集体走低
每日速看!铁匠用30年给猫和老鼠做铠甲:一套比一套帅!
戴尔推出了灵越14 ARM版:骁龙8cx Gen 2、16小时长续航
世界播报:卡布达归来!《铁甲小宝》高清修复版将至:已开通B站账号
两败俱伤:比亚迪海豹街头铲翻宝马X5
块级元素和行内元素
天天实时:SublimeREPL设置详解——实现代码传递(Eval in REPL)
天天观速讯丨JavaScript 实现异步任务循环顺序执行
自定义 Spring 通用日志注解
精彩看点:日债市场继续消化欧美银行风险扰动 收益率曲线陡峭化下移
即时焦点:【财经分析】债市利空反应钝化 后市操作存分歧
每日快报!【新华500】新华500指数(989001)16日跌1.29%
【环球时快讯】小伙爆改特斯拉Model 3:加装120寸轮毂、增加“逆天”功能
【新要闻】百度文心一言问答测试为视频演示 李彦宏:为保证效果提前录制
全球实时:深蓝SL03车主联合声明:长安雇水军打压车主 要求车辆终身质保加补偿
国内首款天玑9000旗舰平板!OPPO Pad 2官宣:下周发布
【世界时快讯】曾投资一亿美元:马斯克痛批OpenAI成为营利组织
冰墩墩钥匙扣(冰墩墩多少钱一只)
最新消息:76.qt qml-QianWindow开源炫酷界面框架(支持白色暗黑渐变自定义控件均以适配)
今热点:Markdown用法解析
世界微动态丨得物从0到1自研客服IM系统的技术实践之路
天天看热讯:性能优化搞得好,Tomcat少不了。| 博学谷狂野架构师
世界观天下!笔记本水冷改造记录
世界球精选!创维造车:主打座舱养生续命、碰撞测试0分!真是讽刺他妈给讽刺开门
环球即时:反转!国内油价明晚大概率下跌 预计下调0.07元/升
《暗黑4》本周末开测 世界BOSS刷新时间公布
天天关注:巴奴火锅下架富硒土豆!消费者可获赠500元储值卡:领取有条件
天天热推荐:百度发布文心一言AI模型:可实现文字、图片与视频智能生成
喝的人越来越少!星巴克向中国三四线城市进军:30多一杯咖啡县城青年能爱多久
麦芒11什么时候上市的?麦芒11手机参数配置
华为电视怎么投屏?华为电视怎么下载第三方软件?
孙海洋是湖北哪里人?
鲶鱼效应是什么意思?鲶鱼效应的经典案例是什么?
首店经济是什么意思?首店经济是谁提出的?
快报:权志龙演唱会门票多少钱2020_权志龙演唱会门票多少钱
环球讯息:用图技术搞定附近好友、时空交集等 7 个典型社交网络应用
GPT-4测评,大家先别急,图片输入还没来
全球时讯:C#使用ObjectPool提高StringBuilder性能
今头条!RTX 40笔记本新品翻车?别急 先升级NVIDIA新驱动再说
每日精选:官宣!《炉石传说》被移出杭州亚运会项目:职业选手难过
环球快消息!360发布年度手机安全报告:受骗男性占七成 女性三成