我有一些zend server CE(php5.3)的测试分期,一个在Mac 10.8.2上,一个在Linux EC2实例上,都使用安装附带的默认APC实现(zend数据缓存)。 / p>
在两台机器上,我打电话:
apc_store("Installation:1234:lastActivity", "x", 120);
然后我为那把钥匙打电话给apc_fetch
在Mac上,apc_fetch有效
在Linux上,apc_fetch返回FALSE并失败。
现在对于Linux机器上的奇怪内容,我做了一些测试:
1.如果我删除键中的最后一个字符(y),则apc_fetch可以正常工作
2.如果我将冒号(:)更改为斜杠(/),则apc_fetch有效。
任何想法是怎么回事? 感谢...
答案 0 :(得分:1)
Zend Server实际上并没有使用APC,而是使用它自己的实现 - “Zend Data Cache”。他们之间似乎有一些微妙的差异。
ZDC的一个特点是'名称空间',你在键上加上'{name} ::',然后就可以删除所有以该前缀开头的键。
当字符串中有两个(非连续)冒号时,可能存在错误。与此同时,只需调整键的结构就可以轻松解决问题。