mysql - 同步内存缓存和 MySQL

标签 mysql caching memcached synchronization zope

关于如何使数据库和内存缓存保持同步,我还没有找到好的建议。 我在我的 Web 应用程序中使用 MySQL 5.5.28、Zope 2.12.19。

因此,有些建议就像您从内存缓存中进行选择(在缓存命中期间)一样,它会从缓存中发送数据。在此缓存失效后,再次从数据库中选择数据以重新填充缓存。但只是因为数据库操作成本高昂,所以我们首先选择使用缓存。那么这如何解决更快访问的问题呢?

另一个解决方案似乎是使用源表上的触发器更新内存缓存。对此的任何意见将不胜感激,因为我不明白这是如何完成的。

最佳答案

以下是我能找到的针对上述问题的最佳解决方案的链接。

我的第一个问题的答案提到了对快速变化的数据使用缓存。 那么,如果数据频繁更改,缓存并不理想。用户数量较少时也是如此。 但是如果网站的点击次数增加了,那么使用下面的方法时缓存就非常有用了:

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 .

关于mysql - 同步内存缓存和 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21706650/

相关文章:

python - 使用 memcached.sock 路径连接到 python-memcached

mysql - 连接此表的正确 SELECT 语句是什么

mysql - 根据文本 SQL 查询的一部分获取唯一字段

ruby-on-rails - pjax vs turbolinks vs cache_digests 以提高 rails 速度?

AsyncTask 中的 Android getCacheDir

java - 声明式 Spring 缓存定制

mysql - SELECT WHERE subselect SUM 适用于条件

php - 在mysql中随机化结果

php - Mac 上 memcached 的 GUI 安装程序?

PHP 内存缓存设计模式