【问题标题】:How can I avoid duplicate copies of an object in a cache?如何避免缓存中对象的重复副本?
【发布时间】:2010-09-10 17:05:36
【问题描述】:

我正在使用 memcache 为 Web 应用程序的模型层设计缓存,我最大的问题之一是数据一致性。 我想到了像这样缓存数据: (键=查询,值=查询的对象ID列表) 对于列表的每个 id: (key=object.id, value=object)

因此,每次完成查询时: 如果查询已经存在,我会从缓存中检索列表中指示的对象。 如果不是,则列表的所有对象都存储在缓存中,替换任何其他旧值。

有人用过这个替代品吗,是上帝吗?还有其他想法吗?

【问题讨论】:

    标签: php caching memcached


    【解决方案1】:

    缓存是没有唯一正确答案的主题之一 - 它取决于您的域。

    您描述的缓存策略可能足以满足您的域。但是,您似乎并不担心过时的数据。通常我希望看到一些实体的时间戳 - 如果缓存的值早于某些系统定义的参数,那么它将被认为是陈旧的并重新获取。

    有关缓存算法的更多讨论,请参阅Wikipedia(初学者)

    【讨论】:

      【解决方案2】:

      欢迎来到并发编程的世界。你会想了解一些关于mutual exclusion 的知识。如果您告诉我们您正在开发什么语言/平台,我们可以更具体地描述您的选择。

      【讨论】:

        猜你喜欢
        • 2015-07-30
        • 1970-01-01
        • 2015-02-05
        • 2013-03-18
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-05-12
        • 1970-01-01
        相关资源
        最近更新 更多