gpt4 book ai didi

php - 在全动态和重数据库网站中使用memcached好吗?

转载 作者:行者123 更新时间:2023-11-29 06:17:49 25 4
gpt4 key购买 nike

我目前正在从事类似于电子商务网站的项目。数据库表中有数十万条记录。我还必须对它们使用连接操作来获取数据,因为项目中有查询生成器来选择数据标准。获取数据需要太多时间。所以,我使用限制作为每页的一些记录(例如 10)。现在我开始了解memcached的概念。所以我想在我的项目中使用 memcached,因为它只需要花费太多时间。但仍有一些疑问。

  1. 太多缓存文件会影响吗?我的意思是会创建太多文件,每个模块的每一页,都会有一个缓存文件。所以数字将进入大约 10000 个缓存文件
  2. 让我们假设没有任何文件数量的问题。但是,当在表格中间添加或删除表格的任何行时,如何使用 replace() 来更新文件。在这里,几乎每周都会更新表格

所以我进退两难,我是否应该选择 Memcached?如果有人可以提出建议并解释并回答,那么将不胜感激。

最佳答案

如果您的网站执行许多经常返回相同数据的相同 MySQL 查询,那么是的,运行 memcached 可能有一些好处。

问题:

"There are hundreds of thousands of records...It takes too much time to fetch the data".

这可能表明您的架构存在问题。正确索引,即使在使用 JOIN 时,查询也应该能够快速执行(< 0.1 秒)。对运行时间较长的查询运行 EXPLAIN 查询,看看是否可以改进。

问题 1 的答案

缓存文件太多不会有问题。 Memcached 将所有缓存信息存储在内存中(因此得名),因此不使用磁盘文件。缓存的对象存储在 RAM 中并直接从 RAM 访问。

问题 2 的答案

不确定您在这里问什么,但是如果您的应用程序更新或删除数据库中的信息,那么删除受更新和删除影响的缓存项至关重要。如果应用程序不删除受此类操作影响的缓存项,则下次查询数据时,可能会返回不再有效的缓存结果。确保缓存的任何数据都设置了适当的过期时间,或者应用程序在数据库中的数据发生变化时将它们从缓存中删除。

希望对您有所帮助。

关于php - 在全动态和重数据库网站中使用memcached好吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34852976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com