世博体育(中国)官方网站在缓存未掷中的情况下-世博网站(官方)APP下载-登录入口IOS/Android通用版/手机版

发布日期:2025-10-10 17:30    点击次数:112

世博体育(中国)官方网站在缓存未掷中的情况下-世博网站(官方)APP下载-登录入口IOS/Android通用版/手机版

缓存旁路是最常见的缓存计策之一。当缓存掷中(cache hit)时,数据造访延伸主要由通讯延伸决定世博体育(中国)官方网站,每每较小,因为缓存不错部署在衔尾行使门径的缓存管事器上,以致直接在行使门径的内存中。

但在缓存未掷中时,缓存是被迫存储,由行使门径慎重更新缓存。即缓存仅叙述未掷中,行使门径需要从底层存储中获得数据并更新缓存。

责任经过

如图 1 所示,行使门径通过缓存键(cache key)从缓存中查找值。缓存键决定了行使门径需要的数据。

要是键存在于缓存中,缓存复返与该键关联的值,行使门直接接使用。

要是键不存在或已逾期(缓存未掷中),行使门径需要处理这种情况。行使门径从底层存储(每每是数据库)查询数据,并将成果存储到缓存中。

举例,假定你正在缓存用户信息,并使用用户 ID 动作查找键。在缓存未掷中的情况下,行使门径通过用户 ID 从数据库查询用户信息,将查询成果调度为安妥缓存的口头(举例 JSON),然后以用户 ID 为键、用户信息为值更新缓存。

伸开剩余54%

优点

缓存旁路之是以流行,是因为它易于完了。征战者不错粗心建立一个缓存管事器(如 Redis),用于缓存数据库查询或管事反映。缓存管事器是被迫的,不需要了解底层数据库的细节或数据的映射方式,扫数缓存管束和数据调度王人由行使门径完成。

在好多场景中,缓存旁路是裁减行使延伸的简略有用措施。通过将最联系的数据存储在衔尾行使门径的缓存管事器中,不错荫藏数据库造访的延伸。

错误

数据一致性问题:要是有多个并发读者同期查找团结键,行使门径需要配合并发缓存未掷中的处理,不然可能导致屡次数据库造访和顺存更新,进而酿成后续缓存查询复返不一致的值。

事务救济缺失:由于缓存和数据库互不了解,行使门径需要慎重配合数据更新,因此无法提供事务救济。

尾部延伸(tail latency):缓存未掷中时,造访延伸取决于数据库的读取延伸。固然缓存掷中时造访很快,但未掷中的情况会导致显耀的延伸世博体育(中国)官方网站,因此数据库的地舆位置延伸仍然很热切。

发布于:湖南省