gpt4 book ai didi

caching - 管理缓存失效

转载 作者:行者123 更新时间:2023-12-03 14:39:42 27 4
gpt4 key购买 nike

只是想知道你们如何管理缓存失效。鉴于缓存中可能存在可能由不同算法或规则触发的对象(成百上千)。你如何跟踪这一切?

无论如何,您是否可以从数据库中的表中引用关系并以某种方式强制执行它?

请多多包涵,因为我以前从未做过任何缓存。

最佳答案

正如您似乎已经解决的那样,它并不像例如在新闻故事更新时更新新闻故事的缓存那么简单。还有其他关系,例如,您需要更新的最新新闻故事列表。

最简单的方法是关联所有相关的对象。我以前使用过缓存组的概念。继续我的新闻示例,缓存组中的“新闻”将是;新闻故事,各种新闻故事列表以及包含新闻故事的任何其他内容。

当我编辑新闻报道时,系统识别出它需要更新缓存组“新闻”并执行以下过程......

  • 在保存更新之前获取每个对象
  • 保存
  • 再次获取对象,如果是不同的更新,各种缓存

  • 当然,这是一个非常简单的例子。一种更简洁的方法是编写代码以始终维护对象,就像它在缓存中一样。

    如果您向新闻文章添加标签,您的代码可以将这些更改写入数据库,但如果您更新新闻文章对象和相关标签对象,这两个对象都可以“知道”它们已更改(就像设置 hasChanged = true ) 然后您可以更新缓存并自动保存到数据库中。

    关于caching - 管理缓存失效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1710837/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com