【蓝因子教育】缓存旁路(Cache-Aside Caching)(蓝因子教育咨询有限公司怎么样)

【蓝因子教育】缓存旁路(Cache-Aside Caching)(蓝因子教育咨询有限公司怎么样)

缓存旁路是最常见的缓存策略之一。当缓存命中(cache hit)时,数据访问延迟主要由通信延迟决定,通常较小,因为缓存可以部署在靠近应用程序的缓存『服务器』上,甚至直接在应用程序的内存中。

但在缓存未命中时,缓存是被动存储,由应用程序负责更新缓存。即缓存仅报告未命中,应用程序需要从底层存储中获取数据并更新缓存。

工作流程

如图 1 所示,应用程序通过缓存键(cache key)从缓存中查找值。缓存键决定了应用程序需要的数据。

如果键存在于缓存中,缓存返回与该键关联的值,应用程序直接使用。

如果键不存在或已过期(缓存未命中),应用程序需要处理这种情况。应用程序从底层存储(通常是数据库)查询数据,并将结果存储到缓存中。

例如,假设你正在缓存用户信息,并使用用户 ID 作为查找键。在缓存未命中的情况下,应用程序通过用户 ID 从数据库查询用户信息,将查询结果转换为适合缓存的格式(例如 JSON),然后以用户 ID 为键、用户信息为值更新缓存。

优点

缓存旁路之所以流行,是因为它易于实现。开发者可以轻松设置一个缓存『服务器』(如 Redis),用于缓存数据库查询或服务响应。缓存『服务器』是被动的,不需要了解底层数据库的细节或数据的映射方式,所有缓存管理和数据转换都由应用程序完成。

在许多场景中,缓存旁路是降低应用延迟的简单有效方法。通过将最相关的数据存储在靠近应用程序的缓存『服务器』中,可以隐藏数据库访问的延迟。

缺点

数据一致性问题:如果有多个并发读者同时查找同一键,应用程序需要协调并发缓存未命中的处理,否则可能导致多次数据库访问和缓存更新,进而造成后续缓存查询返回不一致的值。

事务支持缺失:由于缓存和数据库互不了解,应用程序需要负责协调数据更新,因此无法提供事务支持。

尾部延迟(tail latency):缓存未命中时,访问延迟取决于数据库的读取延迟。虽然缓存命中时访问很快,但未命中的情况会导致显著的延迟,因此数据库的地理位置延迟仍然很重要。

特别声明:[【蓝因子教育】缓存旁路(Cache-Aside Caching)(蓝因子教育咨询有限公司怎么样)] 该文观点仅代表作者本人,今日霍州系信息发布平台,霍州网仅提供信息存储空间服务。

猜你喜欢

0AM七速双离合器变速箱阀体油底壳垫:现代汽车传动系统的关键密封(双离合七速什么意思)

0AM七速双离合器变速箱阀体油底壳垫是现代高性能车传动系统的重要组件,看似低调却不可或缺。它如何在高温高压环境下保障油液流动?又有哪些因素影响其使用寿命?本文带你深入了解这一关键技术。

0AM七速双离合器变速箱阀体油底壳垫:现代汽车传动系统的关键密封(双离合七速什么意思)

李小萌40岁生日照身材丰盈饱满,王雷煮面庆生,两胖儿子太喜人(李小萌40岁生日惊喜)

半蹲在地手捧玫瑰花时,她微微歪头,眼神灵动,丝毫没有 40 岁的沉稳感,反而像刚毕业的大学生;站在超大粉色蝴蝶结🎀装饰前,她侧身站立,一手轻扶蝴蝶结🎀边缘,另一手自然下垂,阳光洒在她身上,为整个画面增添了一层温暖…

李小萌40岁生日照身材丰盈饱满,王雷煮面庆生,两胖儿子太喜人(李小萌40岁生日惊喜)

复古民族风编织:连接传统与未来的腰间艺术(民族风编发)

什么是复古民族风编绳腰绳?它如何融合传统手工艺与现代潮流,成为女性♀️衣橱的新宠?本文深度解析其材质特点、设计美学与流行趋势,揭开这一小众时尚背后的奥秘。

复古民族风编织:连接传统与未来的腰间艺术(民族风编发)

彭加木失踪了几十年,到底在哪里?有人给出了一个令人吃惊的猜测(彭加木遗骸找到了吗)

彭加木失踪后,相关部门迅速组织了大规模的搜救行动,但经过多日搜寻,依然没有任何线索。他独自一人走向沙漠,队员们直到中午才发现他失踪了。中国科学院新疆分院在罗布泊地区竖立了一座纪念碑,刻着彭加木的名字和失踪日…

彭加木失踪了几十年,到底在哪里?有人给出了一个令人吃惊的猜测(彭加木遗骸找到了吗)

XU手工定制:黑牛皮与吉祥寓意交织的烟具守护者(黑色的手工制作)

你知道吗?每当你掏出打火机,其实也带出了一份细腻的手工温度。XU手工定制的黑色优质软牛皮打火机套,以其卓越的品质和吉祥寓意设计脱颖而出。这款专为Zippo、朗声等经典打火机打造的配件,不仅彰显了主人的独特品味,更融入了传统工艺中的美好祝福。

XU手工定制:黑牛皮与吉祥寓意交织的烟具守护者(黑色的手工制作)