在运行时,我想检索有关memcached中某些项的过期时间信息.我没有在memcached上找到任何相关的接口.我可以这样做吗?类似于:mc.get_expire_time('key')
谢谢
小智 12
Python memcache API不提供这样的功能.但是,您可以telnet到memcached以转储所有密钥和到期时间.
> telnet localhost 11211
Run Code Online (Sandbox Code Playgroud)
stats items 显示包含数据的slab.
stats items
STAT items:12:number 1108
...
END
Run Code Online (Sandbox Code Playgroud)
然后stats cachedump slab_id count用来查看密钥和到期时间.将计数设置为0以检索所有键.
stats cachedump 12 1
ITEM abc [100 b; 1528336485 s]
END
Run Code Online (Sandbox Code Playgroud)
令人讨厌的是,这些信息似乎只在slab stats中提供.从这开始:
[$]> (sleep 1; echo "stats cachedump 1 0"; sleep 1; echo "quit";) | telnet localhost 11211 | grep 'my_key'
Run Code Online (Sandbox Code Playgroud)
并增加slab('cachedump'之后的第一个数字),直到找到合适的slab.一旦你得到一个结果,它将是形式
ITEM my_key [2 b; 1389767076 s]
Run Code Online (Sandbox Code Playgroud)
那里的最后一个数字(1389767076在这种情况下)是密钥到期时的unixtime.您可以time.localtime()使用Wolfram Alpha将此数字转换为人类可读的内容,或使用Wolfram Alpha实时更新.
| 归档时间: |
|
| 查看次数: |
12698 次 |
| 最近记录: |