PHP - 在txt文件中缓存MYSQL查询是一种好习惯吗?

Emm*_*uel 5 php mysql caching outputcache

我正在建立一个在线商店,并试图通过最小化MYSQL查询来提高性能.

通过txt文件缓存mysql查询然后获取而不是查询是一种好习惯吗?这就是我正在做的事情

  1. php类将sql查询作为字符串
  2. 做了一个md5
  3. 如果这是第一次运行
  4. 然后在数据库上执行查询
  5. 在数组中获取结果
  6. 序列化数组并将其存储为md5_Of_Query.txt
  7. 返回unserialize(file_get_contents(md5_of_Query.txt))或$ result实际查询,具体取决于缓存是否存在且有效.
  8. 该类还检查txt文件的filemtime(),如果它大于一小时,则重新执行查询并刷新缓存.

这比每次执行sql查询更有效吗?我遗失的任何安全问题?

mau*_*ris 8

如果您进行基准测试,那么创建唯一哈希并执行IO到磁盘的成本将大于从MySQL服务器中获取的成本.

恕我直言,不要打扰到这个程度.好的想法,但MySQL已经有内部缓存和性能调整.

专注于构建您的应用程序,因为"过早优化是所有邪恶的根源".


ser*_*orm 5

如果你刚刚启动应用程序,memcache比使用文本文件更快捷.

http://memcached.org/

文本文件将完成这项工作,你所概述的步骤是有意义的,但memcache会更快,并为你处理繁重的工作.