当前位置:  开发笔记 > 编程语言 > 正文

如何获取memcached中特定项的到期时间

如何解决《如何获取memcached中特定项的到期时间》经验,为你挑选了3个好方法。

在运行时,我想检索有关memcached中某些项的过期时间信息.我没有在memcached上找到任何相关的接口.我可以这样做吗?类似于:mc.get_expire_time('key')

谢谢



1> 小智..:

Python memcache API不提供这样的功能.但是,您可以telnet到memcached以转储所有密钥和到期时间.

> telnet localhost 11211

stats items 显示包含数据的slab.

stats items
STAT items:12:number 1108
...
END

然后stats cachedump slab_id count用来查看密钥和到期时间.将计数设置为0以检索所有键.

stats cachedump 12 1
ITEM abc [100 b; 1528336485 s]
END



2> Xiong Chiami..:

令人讨厌的是,这些信息似乎只在slab stats中提供.从这开始:

[$]> (sleep 1; echo "stats cachedump 1 0"; sleep 1; echo "quit";) | telnet localhost 11211 | grep 'my_key'

并增加slab('cachedump'之后的第一个数字),直到找到合适的slab.一旦你得到一个结果,它将是形式

ITEM my_key [2 b; 1389767076 s]

那里的最后一个数字(1389767076在这种情况下)是密钥到期时的unixtime.您可以time.localtime()使用Wolfram Alpha将此数字转换为人类可读的内容,或使用Wolfram Alpha实时更新.



3> Denis Otkida..:

根据memcache协议(文本和二进制)niether get也不gets返回到期时间.而且没有其他方法可以检索它.但肯定的,你可以打包到期时间为价值与现在存储什么,当你沿着set/ add它,使其检索.

推荐阅读
赛亚兔备_393
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有