Wie kann ich die Ablaufzeit für das bestimmte Element in memcached abrufen?

8

Zur Laufzeit möchte ich die Ablaufzeitinformationen zu einigen Elementen in memcached abrufen. Ich habe keine verwandte Schnittstelle auf memcached gefunden. Darf ich das machen? etwas wie: mc.get_expire_time ('Schlüssel')

Danke

    
maguschen 01.04.2010, 07:10
quelle

3 Antworten

5

Nach Memcache-Protokoll (sowohl Text als auch binary ) niether get noch gets geben die Ablaufzeit an. Und es gibt keine andere Methode, um sie abzurufen. Aber sicher, dass Sie die Verfallszeit zusammen mit dem, was Sie jetzt speichern, in den Wert packen können, wenn Sie set / add es abrufbar machen.

    
Denis Otkidach 01.04.2010, 12:28
quelle
11

Python memcache API bietet solche Funktionen nicht. Sie können jedoch telnet in memcached, um alle Schlüssel und Ablaufzeiten abzulegen.

%Vor%

stats items zeigt die Brammen an, die Ihre Daten enthalten.

%Vor%

Verwenden Sie dann stats cachedump slab_id count , um den Schlüssel und die Ablaufzeit zu sehen. Setzen Sie die Anzahl auf 0, um alle Schlüssel abzurufen.

%Vor%     
Ko-Chih Wu 02.04.2012 03:45
quelle
5

Ärgerlich erscheint diese Information nur in den Plattenstatistiken. Fange damit an:

%Vor%

und erhöhen Sie die Platte (die erste Zahl nach dem "cachedump"), bis Sie die entsprechende Platte gefunden haben. Sobald Sie ein Ergebnis erhalten, wird es das Formular

sein %Vor%

Die letzte Zahl dort ( 1389767076 in diesem Fall) ist die unixtime , wenn der Schlüssel abläuft. Sie können diese Zahl mit Pythons time.localtime() oder etwas, das für Menschen lesbarer ist, konvertieren -the-fly mit Wolfram Alpha .

    
Xiong Chiamiov 23.01.2014 01:56
quelle

Tags und Links