使用PHP检查memcache集群中是否存在密钥

使用PHP检查memcache集群中是否存在密钥,php,memcached,Php,Memcached,我正在调试PHP应用程序的缓存层。它使用memcache服务器集群来缓存值。我想验证是否正确清除了特定对象 我的想法是使用telnet连接到正确的memcache服务器,并手动检查密钥是否存在。 我知道传递给Memcache::set的密钥,但不知道要连接到哪个服务器。我如何知道数据存储在哪个memcache服务器上?如果它是群集,而不是在所有实例中同步数据,或者有一个集中的数据存储(内部实现-对您来说并不重要)。您将获得所有实例中的数据。我刚刚引用了文档。Memcached客户端散列密钥以确定

我正在调试PHP应用程序的缓存层。它使用memcache服务器集群来缓存值。我想验证是否正确清除了特定对象

我的想法是使用telnet连接到正确的memcache服务器,并手动检查密钥是否存在。
我知道传递给
Memcache::set
的密钥,但不知道要连接到哪个服务器。我如何知道数据存储在哪个memcache服务器上?

如果它是群集,而不是在所有实例中同步数据,或者有一个集中的数据存储(内部实现-对您来说并不重要)。您将获得所有实例中的数据。

我刚刚引用了文档。Memcached客户端散列密钥以确定要查询的服务器。所以,我猜Memcached是分片的。您可能需要查看客户端(或者文档)的源代码,才能了解哈希->服务器是如何完成的。否则,您可以使用命令行中的客户端来查询值。

供将来参考:我编写了一个小python脚本,用于检查memcache服务器列表中给定的密钥

是的,它是分片的,散列在PHP扩展中实现。似乎我必须从源代码中提取哈希算法。