【问题标题】:How to delete memcached key set by another web server如何删除另一个 Web 服务器设置的 memcached 密钥
【发布时间】:2014-10-06 18:51:02
【问题描述】:

考虑 2 个 memcached 服务器 mc1mc2 和 2 个 web 服务器 web1web2,使用 PHP 和 Memcached 库。

$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 将密钥设置在哪里。怎样才能做到这一点?

现在我正在遍历服务器并在每个服务器上发出删除。我在想可能有更好的方法来做到这一点。

【问题讨论】:

    标签: php memcached


    【解决方案1】:

    使用多服务器架构 memcached 访问(设置/获取/删除)基于密钥哈希的服务器上的密钥。所以,是的 - web2 不会知道在 web1 上删除。但在你的情况下这不是问题。 Memcache 会从服务器中删除之前放置的密钥。

    请阅读这个问题:Using multiple memcache servers in a pool

    【讨论】:

    • 谢谢。我做了一个快速测试,它有效,但我仍然不明白如何,它们是 4 台不同的机器。也许 mc1 向 mc2 发出信号,表明它拥有该密钥。
    猜你喜欢
    • 1970-01-01
    • 2022-01-21
    • 1970-01-01
    • 2017-04-06
    • 1970-01-01
    • 2016-04-23
    • 2012-08-31
    • 1970-01-01
    • 2021-11-25
    相关资源
    最近更新 更多