我打算使用php5-apcu ubuntu软件包。
进程之间是否共享数据?换句话说,如果我在一个网站加载中设置一个缓存条目,那么另一个网站加载是否可以使用缓存条目,即使它是与另一个进程一起提供的?
这是如何工作的:
答案 0 :(得分:6)
https://github.com/krakjoe/apcu/issues/121
规则是只有子进程可以访问其父进程创建的内容;在FCGI中,衍生的进程不一定是其父进程的子进程,它们可能不是实际的分支。如果您的流程管理器像传统的FCGI / CGI一样工作,那么您将无法共享,如果它像FPM一样工作,并且在父级和forks子解释器中初始化PHP,那么您将没有问题。
Apache的prefork和PHP的FPM将在工作进程之间共享(通过父进程的内存空间)。
CLI不会,因为每个CLI调用都是一个单独的进程。
您可以考虑使用memcached或redis作为替代方案。