Php 服务器上每个网站的Memcached

Php 服务器上每个网站的Memcached,php,memcached,Php,Memcached,我想缓存每个网站的键值 例如: 如果我在网站A上设置$memcached->set('somekey','somevalue'),并在网站B上调用$memcached->get('somekey'),我得到了'somevalue' 如何停止它?在或接口中都没有本机方法来执行此操作 您必须手动将密钥更改为每个站点唯一。您可以通过在键前加前缀来实现这一点。比如说, $memcached->set($site_name . 'somekey', 'somevalue'); 及 您在代码中以每个

我想缓存每个网站的键值

例如:

如果我在网站A上设置
$memcached->set('somekey','somevalue')
,并在网站B上调用
$memcached->get('somekey')
,我得到了
'somevalue'


如何停止它?

在或接口中都没有本机方法来执行此操作

您必须手动将密钥更改为每个站点唯一。您可以通过在键前加前缀来实现这一点。比如说,

$memcached->set($site_name . 'somekey', 'somevalue');

您在代码中以每个站点的唯一方式定义了
$site\u name


您可能希望创建一个扩展
Memcache
Memcached
(取决于您使用的扩展名)的类,该类覆盖各种getter和setter以自动添加特定于站点的前缀。

谢谢,但每个人都可以像unique一样键入相同的键。例如,如果我键入$memcached->set($site_name.'somekey','somevalue');在网站A中,在网站B中,我可以键入$memcached->set('siteaname'。'somekey','someanothervalue');并将网站更改为缓存。。所以这不是个好办法。也许还有别的办法?非常感谢你!正如我在另一个重复的问题上回答的那样,唯一的解决方案是在各自的端口/UNIX套接字上运行两个Memcached守护进程,并让每个站点连接到不同的守护进程。
$memcached->get($site_name . 'somekey');