2009-10-29 12 views
3

Nous avons constaté qu'avec notre memcache, certaines touches ont tendance à être perdues. Pour debug, je suis en utilisant la commande stats cachedump <slab> <limit>Memcache stats cachedump

La sortie est quelque chose comme ceci:

ITEM key-stuff-123-mlgtr-tmura [58 b; 1256946310 s] 
ITEM key-stuff-123-mlgtr-isuca [58 b; 1256946310 s] 
ITEM key-stuff-123-mlgtr-arpan [58 b; 1256946310 s] 
ITEM key-stuff-123-mlgtr-nanhai [59 b; 1256946252 s] 
ITEM key-stuff-123-mlgtr-naka3 [58 b; 1256946250 s] 
ITEM key-stuff-123-mlgtr-erlang [59 b; 1256946250 s] 
ITEM key-stuff-123-mlgtr-junkma [59 b; 1256946250 s] 
ITEM key-stuff-123-mlgtr-wilfue [59 b; 1256946250 s] 
ITEM key-stuff-123-mlgtr-quinte [59 b; 1256946250 s] 
ITEM key-stuff-123-mlgtr-yanbe [58 b; 1256946250 s] 

Je reçois que 58 b est la taille; mais ce qui serait 1256946250 s? L'expiration en secondes? Cela semble assez élevé (55 ans)! Alors peut-être que notre problème est ici ... ou peut-être que j'ai mal compris quelque chose.

Merci!

+0

"Nous avons trouvé qu'avec notre memcache certaines clés ont tendance à être perdues" Je trouve qu'il est préférable d'approcher memcache avec l'hypothèse que cela se produira. C'est un cache, pas un magasin de données. Si vous ne pouvez pas vous permettre de perdre des clés, utilisez quelque chose de plus durable. –

Répondre

7

C'est l'heure d'expiration, en tant qu'un horodatage unix.

Ainsi, avec l'article '1256946250' expirera 'Sam 31 octobre 2009 01:44:10'

+0

Notez également [ce post SO] (http://stackoverflow.com/questions/1418324/memcache-maximum-key-expiration-time) qui met en évidence lors de la définition de valeurs dans memcache que toute valeur inférieure à 30 jours est traitée comme * décalage à l'heure actuelle * alors qu'une valeur supérieure à 30. jours est en fait traitée comme un horodatage. Bien sûr, cela n'affecte pas l'horodatage affiché par la commande cachedump. – DarthPablo

2

Ce sont horodatages de style unix. Vous pouvez aller here pour les convertir en une date lisible par l'homme. Fondamentalement, c'est le nombre de secondes écoulées depuis Jan 01 1970

+0

ou "date -d @ 1256946250" sur un système Linux. – markdrayton