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

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

有人用过这个替代方案吗,大神吗?还有其他想法吗?

有帮助吗?

解决方案

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

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

有关缓存算法的更多讨论,请参见 维基百科 (对于初学者)

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top