6

我试图了解如何以一种好的方式缓存数据库以及该做什么和不该做什么。虽然我想确保到目前为止我已经正确理解了所有内容。也许你能帮助我?

目前我没有任何缓存,我使用 XAMPP 在本地完成所有操作。为了存储数据,我使用 MySQL/PHPMyAdmin,为了获取、添加和更新数据,我只需在 PHP 中进行 Mysqli 查询。正如我所说,我现在没有任何缓存,所以我开始寻找最好的方法来做到这一点。

经过快速搜索,我找到了Redis。所以我的想法是使用 MySQL 存储数据并使用 Redis 将其缓存。这是一个好方法还是我完全理解错了?

如果我是对的,我该如何实现 Redis?如何缓存数据?如果我想要的数据被缓存,我是否会在 PHP 中进行检查,如果是则从缓存中获取,否则从 MySQL 数据库中获取。

真的很想知道我是否走在正确的轨道上。

4

1 回答 1

11

Redis 是一个开源数据结构服务器,具有内存数据集,由于其内置的数据类型,它的功能远不止简单的键/值存储。

如果您的要求是缓存批量数据,您可以这样做,这里有一个快速教程

如果你只是想实现缓存,你可以使用 memcache

memcache 适用于存储返回小数据集的慢查询 [1 - 50 个结果,取决于平均行权重]

对于任何返回大型数据集的查询 [100 - ∞,取决于平均行权重],memcache 的效率都不是那么高

以下是一些链接,您可以在其中找到有关 memcache 的更多信息

内存缓存介绍

将 memcache 与 php 和 mysql 一起使用

还有,最后但并非最不重要的

mysql也缓存查询结果,可能你可以增加mysql查询缓存大小吗?或者将大查询的结果缓存在一个独立的表中。

许多 SO 帖子中提供了有关 Mysql 查询缓存的更多信息,但我觉得最好的一篇是这里的一篇

Mysql查询缓存

上面的SO帖子可能会对您有所帮助

于 2012-10-03T17:10:33.520 回答