如何在memcached实例中设置所有密钥?
我试着用谷歌搜索,但除了PHP
支持getAllKeys
method之外,什么也没找到,这意味着它实际上是可以以某种方式做到这一点的。怎样才能在telnet会话中获得相同的信息?
我已经尝试了memcached cheat sheet和Memcached telnet command summary中提到的所有与检索相关的选项,但它们都不起作用,我也找不到正确的方法来做到这一点。
注意:我目前正在开发中这样做,所以可以假设不会因为设置新的密钥或发生其他类似的竞争条件而出现问题,并且密钥的数量也将受到限制。
发布于 2016-08-11 01:48:43
在这里根据@mu 無回答。我已经写了一个缓存转储脚本。
该脚本转储memcached服务器的所有内容。它是在Ubuntu12.04和本地主机memcached上测试的,所以你的进度可能会有所不同。
#!/usr/bin/env bash
echo 'stats items' \
| nc localhost 11211 \
| grep -oe ':[0-9]*:' \
| grep -oe '[0-9]*' \
| sort \
| uniq \
| xargs -L1 -I{} bash -c 'echo "stats cachedump {} 1000" | nc localhost 11211'
它的作用是遍历所有缓存片,并打印每个缓存片的1000个条目。
请注意此脚本的某些限制,例如,它可能无法扩展到5 5GB的缓存服务器。但它对于在本地机器上进行调试很有用。
发布于 2017-09-11 21:10:26
如果您安装了PHP & PHP-memcached,则可以运行
$ php -r '$c = new Memcached(); $c->addServer("localhost", 11211); var_dump( $c->getAllKeys() );'
发布于 2017-02-07 15:16:51
最简单的方法是使用python-memcached-stats包https://github.com/abstatic/python-memcached-stats
keys()方法应该可以让您开始工作了。
示例:
from memcached_stats import MemcachedStats
mem = MemcachedStats()
mem.keys()
['key-1',
'key-2',
'key-3',
... ]
https://stackoverflow.com/questions/19560150
复制相似问题