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