php - 将经常访问的数据存储在文件中而不是 MySQL

标签 php database optimization caching filesystems

我正在开发一个 PHP 内容管理系统,在测试过程中,我注意到系统的 MySQL 表中有相当一部分几乎在每个页面上都会被查询,但很少被写入。我想知道的是,随着网站流量的增加,这是否会开始对数据库造成沉重负担,我该如何解决/预防这种情况?

我最初的想法是开始在文件中存储一些更静态的数据(使用 PHP 序列化),但这真的能减少服务器负载吗?我担心的是我只是将高负载从数据库转移到文件系统!

如果有人能告诉我更好的方法,那就太好了。如果数据量本身有很大影响,我在下面详细说明了我将存储的一些数据:

  • 完整的国家列表(包括 ISO 国家代码)
  • 站点选项(皮肤、管理员电子邮件、支持 URL 等)
  • 用户组(包括权限)

最佳答案

您必须记住,从功能强大的服务器和快速连接上的数据库读取表可能比从本地计算机上的磁盘读取它更快。数据库会将这些经常访问的小表全部缓存在内存中。

通过自己在文件系统中实现相同的功能,只有很小的可能加速,但有很大的机会搞砸它并使其变慢。

最好坚持使用数据库。

关于php - 将经常访问的数据存储在文件中而不是 MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2241296/

相关文章:

php - 如何删除 php 中的零除消息并改进我的代码?

database - 允许受控地使用中文文本

swift - 大中央调度

database - URI 图像 - 数据库列 v/s 类文件

mysql - 如何检查 mysql DB 列是否具有对象的 json 数组并包含特定字符串

c - Blit 比条件 + 指针增量更快?

php - 插入两行时 stmt->execute 不起作用

php - 为什么 mysql_real_escape_string 在不应该的地方插入引号?

php - fatal error : Allowed memory size of 134217728 bytes exhausted (tried to allocate 87 bytes)

php - 用 laravel 4.2 中输入的新值更新/替换值