【发布时间】:2012-12-25 21:00:56
【问题描述】:
是否可以在 PHP 中存储永久变量,即最终不可修改的变量,但所有请求页面的用户都可以读取?
例如我需要在页面上使用字典,从一个大的(不变的)单词列表开始。最好的方法是什么?
- 在每次页面加载时即时将单词列表转换为树完全浪费计算资源,并且每次页面加载需要几秒钟的时间。
- 将树作为子文件夹放在文件系统中并使用
file_exists()足够快,但每个字使用 4KB,这完全浪费了磁盘空间。 - 将单词放入数据库是行不通的,因为每次加载页面时我需要进行数千次查找。
存储这本字典的正确方法是什么?
【问题讨论】:
-
Is it possible to store permanent variables in PHP?你对会话有什么了解吗?还是mysql? -
什么意思?我明确提到了为什么数据库(例如 MySQL)不可用,并且我看不到如何在此处应用会话(因为会话中的变量仅对该会话的用户可用,AFAIK)。
-
如果您暂时搁置该字典的存储和加载问题:如果该字典存在(在代码中,例如数组或对象)将采用哪种形式,请提供编码用法的样子。这应该使事情更清楚。例如。为什么每个单词 4kb?
-
您希望用户设置最终且不可修改的变量吗?
-
@hakre,4kb 将是特定文件系统的块大小。每个文件消耗的实际空间始终是块大小的倍数,我假设 OP 每个文件需要 1 个字。