同步memcache和MySQL

时间:2014-02-11 15:55:03

标签: mysql caching memcached sync zope

关于如何保持数据库和内存缓存同步,我没有提出好的建议。 我在我的网络应用程序中使用MySQL 5.5.28,Zope 2.12.19。

因此,一些建议就像从memcache中选择(在缓存命中期间),它会从缓存中发送数据。在此缓存失效后,再次从数据库中选择数据以重新填充缓存。但仅仅因为数据库操作很昂贵,我们首先选择使用缓存。那么如何解决更快访问的问题呢?

另一个解决方案似乎是使用源表上的触发器更新内存缓存。对此的任何意见都将受到赞赏,因为我不明白这是如何做到的。

1 个答案:

答案 0 :(得分:1)

以下是我可以在上述问题中找到的最佳解决方案的链接。

我的第一个问题的答案提到了使用快速变化的数据缓存。 好吧,如果数据经常变化,缓存并不理想。用户数量较少,情况确实如此。 但是,如果网站的点击次数增加,那么当使用以下方法时,缓存非常有用:

INSERT,UPDATE或DELETE操作将调用使缓存无效的触发器。 加载页面时,将使用SELECT,结果数据将存储在缓存中,直到再次更改为止。这样,通过在各个表上使用INSERT,UPDATE,DELETE触发器,不必在整个系统中修改应用程序的代码。只需要在代码中处理SELECT。

关于如何使用触发器来操作缓存的第二个问题,下面的链接在回答我的问题时非常有用:

http://code.openark.org/blog/mysql/using-memcached-functions-for-mysql-an-automated-alternative-to-query-cache