上我通过为每个网站键要缓存值。Memcached的每个网站的服务器
例如:
如果我在网站上一组$memcached->set('somekey', 'somevalue')
和B网站叫$memcached->get('somekey')
,我得到了'somevalue'
。
如何阻止它?
上我通过为每个网站键要缓存值。Memcached的每个网站的服务器
例如:
如果我在网站上一组$memcached->set('somekey', 'somevalue')
和B网站叫$memcached->get('somekey')
,我得到了'somevalue'
。
如何阻止它?
在memcache或memcached接口内没有本地方式来执行此操作。
您必须手动将密钥更改为每个站点唯一。你可以通过在密钥前面加上这个。例如,
$memcached->set($site_name . 'somekey', 'somevalue');
和
$memcached->get($site_name . 'somekey');
,你已经在你的代码在每个站点的一种独特的方式定义$site_name
。
您可能希望创建Memcache
或Memcached
(取决于扩展您正在使用),它覆盖了各种getter和setter 自动添加站点特定的前缀扩展的类。
谢谢,但每个人都可以像独特的一样键入相同的键。例如,如果我输入$ memcached-> set($ site_name。'somekey','somevalue');在网站A中,在网站B中,我可以输入$ memcached-> set('site A name'。'somekey','someanothervalue');并改变网站的缓存..所以这不是好的方法。也许还有另一种方式?非常感谢你! –
正如我在另一个重复问题上回答的,唯一的解决方案是在他们自己的端口/ UNIX套接字上运行两个Memcached守护进程,并让每个站点连接到另一个。 – 2015-05-10 11:17:34