0

关于组织网站的一般 PHP 问题:为了提高效率,将 MySQL 查询中的数据存储到全局数组中,还是每次需要数据时进行新查询更好?我特别考虑的是一个面向体育统计的网站,其中包含很多不一定经常变化的数据。我听说将数据存储到数组中效率更高,但我不明白如何,因为全局变量仅在当前 PHP 页面的范围内是全局的。理想情况下,我想在启动服务器后填充所有阵列。那我应该使用会话变量吗?我没有听说有人这样做。

4

1 回答 1

0

会话变量不会解决问题,因为会话也不是全局的(除非您通过为所有访问者设置相同的 session_id 来破解它)。

如果您有大量流量并且需要保存查询,则可以使用像 memcached 或 redis 这样的缓存服务器。

如果您无法安装 memcached 或 redis,您可以创建一个包含数组的 PHP 文件,并将其包含在脚本中 - 例如使用文件缓存。这种方法的坏处是您将使用大量内存 - 任何 PHP 脚本、任何访问者都应该在内存中读取整个数据。因此,如果数据库不是瓶颈,最好保留查询。

于 2013-08-18T17:28:00.133 回答