我在想,我有一个很大的数组,有没有可能在内存中只有一次,而不是每个线程一次?以stackoverflow上的标签为例。它们几乎不会改变,为什么不为它们提供一个单一的记忆点呢?甚至可以将该数组永久保存在内存中?
发布于 2011-05-31 10:17:33
看一看apc_store
与
中的许多其他机制不同,使用apc_store()存储的变量将在两次请求之间保持不变(直到值从缓存中删除)。
发布于 2011-05-31 10:18:24
为此,您可以使用shmop functions或像memcached这样的专用内存缓存。
发布于 2011-05-31 10:18:46
每个php进程都是独立运行的。这与java有所不同,例如,当您有一个单独的对象时,您可以使其处于活动状态,直到JVM重新启动。
遗憾的是,如果您有一个对象(无论大小),它将在每次运行php脚本时加载,但如果您想在运行之间共享内存中的某些内容,则可以使用APC、memcache或shared memory
在这些选项中,我强烈建议您使用APC。
https://stackoverflow.com/questions/6182312
复制相似问题