缓存使用策略

1. Cache Aside(旁路缓存)

这个策略数据以数据库中的数据为准,缓存中的数据是按需加载的。

数据更新:

  • 更新数据库中的记录;
  • 删除缓存记录

从缓存中读取数据;

  • 如果缓存命中,则直接返回数据;
  • 如果缓存不命中,则从数据库中查询数据,并将数据写入到缓存中,并且返回给用户。

2. read、Write Through(写穿策略)

更新数据:先查询要写入的数据在缓存中是否已经存在,如果已经存在,则更新缓存中的数据,并且由缓存组件同步更新到数据库中,如果缓存中数据不存在,直接更新到数据库中。

读数据:先查询缓存中数据是否存在,如果存在则直接返回,如果不存在,则由缓存组件负责从数据库中同步加载数据。

3. Write Back(写回)策略

这个策略的核心思想是在写入数据时只写入缓存,并且把缓存块儿标记为“脏”的。而脏块儿只有被再次使用时才会将其中的数据写入到后端存储中。一般很少使用。

更新数据:


读取数据:在读取缓存时如果发现缓存命中则直接返回缓存数据;否则寻找一个可用的缓存块儿,如果这个缓存块儿是“脏”的,就把缓存块儿中之前的数据写入到后端存储中,并且从后端存储加载数据到缓存块儿,如果不是脏的,则由缓存组件将后端存储中的数据加载到缓存中,最后我们将缓存设置为不是脏的,返回数据就好了。

posted @ 2022-08-24 16:31  言思宁  阅读(31)  评论(0编辑  收藏  举报