首页 文章 精选 留言 我的
优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/367158

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

六大缓存(Caching)策略揭秘:延迟与复杂性的完美平衡

引言 在为应用程序添加缓存时,首先需要考虑缓存策略。缓存策略决定了从缓存和底层存储(如数据库或服务)进行读写操作的方式。 从高层次来看,你需要决定在发生缓存未命中(cache miss)时,缓存是被动还是主动的。也就是说,当应用程序从缓存中查找一个值但该值不存在或已过期时,缓存策略会决定是由应用程序还是缓存本身从底层存储中获取数据。不同的缓存策略在延迟和复杂性之间存在不同的权衡,下面我们将逐一探讨。 1. 缓存旁路(Cache-Aside Caching) 缓存旁路是最常见的缓存策略之一。当缓存命中(cache hit)时,数据访问延迟主要由通信延迟决定,通常较小,因为缓存可以部署在靠近应用程序的缓存服务器上,甚至直接在应用程序的内存中。 但在缓存未命中时,缓存是被动存储,由应用程序负责更新缓存。即缓存仅报告未命中,应用程序需要从底层存储中获取数据并更新缓存。 工作流程 如图 1 所示,应用程序通过缓存键(cache key)从缓存中查找值。缓存键决定了应用程序需要的数据。 如果键存在于缓存中,缓存返回与该键关联的值,应用程序直接使用。 如果键不存在或已过期(缓存未命中),应用程序需要...

Electron 37.3.1 发布,跨平台桌面应用开发工具

Electron 是一个使用 JavaScript、HTML 和 CSS 构建跨平台的桌面应用程序。它基于 Node.js 和 Chromium,被 Atom 编辑器和许多其他应用程序使用。Electron 兼容 Mac、Windows 和 Linux,可以构建出三个平台的应用程序。 Electron v37.3.1 现已发布,一些更新内容如下: 修复 修复了shell.openPath未按预期实现 non-blocking 的问题。#48088 修复了使用window.open打开的窗口永远不会离开屏幕的问题。#48070 修复 macOS 上app.getLoginItemSettings潜在的死锁问题。#48096 其他变化 将 Chromium 更新至 138.0.7204.235。#48066 更新说明:https://github.com/electron/electron/releases/tag/v37.3.1

相关文章

发表评论

资源下载

更多资源
优质分享App

优质分享App

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat

Apache Tomcat

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Eclipse

Eclipse

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。