1

我有一些 zend 服务器 CE (php5.3) 的测试部分,一个在 Mac 10.8.2 上,一个在 Linux EC2 实例上,两者都使用安装附带的默认 APC 实现(zend 数据缓存)。

在两台机器上,我调用:

apc_store("Installation:1234:lastActivity", "x", 120);

然后我为那个键调用 apc_fetch 。
在 Mac 上,apc_fetch 有效。
在 Linux 上,apc_fetch 返回 FALSE 并失败。

现在对于 Linux 机器上奇怪的东西,我做了一些测试:
1. 如果我删除键 (y) 中的最后一个字符,apc_fetch 就可以工作了。
2. 如果我将冒号 (:) 更改为斜线 (/),apc_fetch 将起作用。

有什么想法吗?谢谢...

4

1 回答 1

1

Zend 服务器实际上并不使用 APC,而是使用它自己的实现——“Zend 数据缓存”。它们之间似乎存在一些细微的差异。

ZDC 拥有的一件事是“命名空间”,您可以在其中为键添加前缀“{name}::”,然后您可以删除所有以该前缀开头的键。

当字符串中有两个(非连续的)冒号时,可能存在错误。同时,只需调整密钥的结构即可避免该问题,这很容易。

于 2012-12-05T11:00:30.650 回答