Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
同步memcache和MySQL_Mysql_Caching_Memcached_Sync_Zope - Fatal编程技术网

同步memcache和MySQL

同步memcache和MySQL,mysql,caching,memcached,sync,zope,Mysql,Caching,Memcached,Sync,Zope,关于如何保持数据库和memcache的同步,我还没有找到一个好的建议。 我在web应用程序中使用MySQL 5.5.28和Zope 2.12.19 因此,有些建议类似于一旦您从memcache中选择(在缓存命中期间),它就会从缓存发送数据。在该缓存失效并且再次从数据库中选择数据以重新填充缓存之后。但是仅仅因为数据库操作的成本很高,我们首先选择了使用缓存。那么,这是如何解决更快访问的问题的呢 另一种解决方案似乎是使用源表上的触发器更新memcache。如果您对此有任何意见,我将不胜感激,因为我不明

关于如何保持数据库和memcache的同步,我还没有找到一个好的建议。 我在web应用程序中使用MySQL 5.5.28和Zope 2.12.19

因此,有些建议类似于一旦您从memcache中选择(在缓存命中期间),它就会从缓存发送数据。在该缓存失效并且再次从数据库中选择数据以重新填充缓存之后。但是仅仅因为数据库操作的成本很高,我们首先选择了使用缓存。那么,这是如何解决更快访问的问题的呢


另一种解决方案似乎是使用源表上的触发器更新memcache。如果您对此有任何意见,我将不胜感激,因为我不明白这是如何做到的。

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

我的第一个问题的答案提到了高速缓存对快速变化的数据的使用。 如果数据经常更改,缓存就不理想了。这是真实的,用户数量较少。 但如果网站点击次数增加,那么使用以下方法时,缓存确实很有用:

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

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