如何删除由其他web服务器设置的memcached密钥


How to delete memcached key set by another web server

考虑使用带memcached库的PHP的2个memcached服务器mc1mc2以及2个web服务器web1web2

$mc = new Memcached();
$mc->addServer(mc1);
$mc->addServer(mc2);

web1执行以下代码:

$mc->set('abc', 'val');
// key is set to mc1

稍后,从web2:

$mc->delete('abc');

根据我对memcached库如何工作的理解,web2不知道web1在哪里设置了密钥。如何才能做到这一点?

现在我正在遍历服务器,并在每个服务器上发布一个删除。我想可能有更好的方法。

使用多服务器架构,基于密钥的哈希在服务器上缓存访问(set/get/delete)密钥。所以,是的,web2不会知道在web1上删除。但在你的情况下这不是问题。Memcache将删除之前放置在服务器上的密钥。

请阅读此问题:在一个池中使用多个memcache服务器