php超级超级全局

时间:2011-05-31 02:09:10

标签: php php-5.3

我想知道,我有这个大数组,是否有可能只在内存中使用一次而不是每个线程一次? 以stackoverflow中的标记为例。 它们几乎没有变化,为什么没有一个记忆点呢? 甚至可能将该数组永久保存在内存中?

4 个答案:

答案 0 :(得分:4)

查看apc_store

  

与PHP中的许多其他机制不同,使用apc_store()存储的变量将在请求之间保持不变(直到从缓存中删除值)。

答案 1 :(得分:2)

为此,您可以使用shmop functionsmemcached等专用内存缓存。

答案 2 :(得分:1)

每个php进程都与其他进程隔离。这与java不同,例如,当你有一个对象时,你可以在JVM重新启动之前生效。

遗憾的是,如果你有一个对象(小或大)它将在每次php脚本运行时加载但是如果你想在运行之间共享内存中你可以使用APCmemcacheshared memory

在这些选项之间我强烈推荐你APC。

答案 3 :(得分:0)

不 - 在PHP解释器之间直接共享单个变量所固有的同步问题使得这是不可能的。 Stack Overflow更有可能简单地避免一次“思考”整个标签数组。

您可以使用APC中的变量存储功能(apc_storeapc_fetch)将序列化数据存储在共享内存中。