保持请求之间的变量共享

时间:2014-06-03 20:39:26

标签: php

有没有办法在所有请求中保持一些长计算的结果?

例如在Ruby on Rails中,保存在config / initializers目录中的所有内容在引导服务器时运行一次。然后,如果其中一个初始化程序发生更改,则必须重新启动整个服务器。虽然这会导致一些不可思议的事情,比如编辑一些配置而不会看到更改,直到您意识到必须重新启动整个事情,我还可以看到一些用例,例如路由映射。在每个请求上填充整个路由映射数组可能会在某些时候消耗服务器时间的显着部分。

相反,我会在服务器启动时填充数组并保持活动直到关闭。 有没有办法在PHP中这样做(请不要$ _SESSION)?

提前致谢。

1 个答案:

答案 0 :(得分:1)

我会尝试将我的评论详细说明为更多的答案,以便被接受是“值得的”。由于您不想使用会话(因为它不是特定于用户),因此您需要将信息存储在“某处”。您可以在典型的关系数据库(如MySQL或PostgreSQL等)中执行此操作。但是,对于您存储的信息量(次要配置详细信息等)以及访问此信息的次数(可能是每个请求),它将它存储在缓存数据库中是有意义的。这会将所有数据存储在RAM中,您可以将其设置为在特定时间到期,永久存在,或在系统重启时擦除它。

缓存的一些示例: