2 votes

Temps d'expiration du Memcache

Est-il possible d'obtenir le temps restant pour une valeur stockée dans le memcache ?

2voto

Dustin Points 35205

Non, ce n'est pas le cas. Si vous voulez quelque chose comme ça, vous devez le coder dans votre valeur.

2voto

Tyler Eaves Points 5758

Non. Les délais d'expiration de Memcache sont seulement une courtoisie. et non une garantie . Tout élément du cache peut être purgé à tout moment.

1voto

andufo Points 2522

Oui, vous pouvez, mais ce n'est pas une valeur garantie, puisqu'elle peut être purgée. Je ne conseillerais cependant de vérifier cela que sur un environnement de développement.

function getMemcacheKeys() {

    $memcache = new Memcache;
    $memcache->connect('localhost', 11211) or die ("Could not connect to memcache server");

    $list = array();
    $allSlabs = $memcache->getExtendedStats('slabs');
    foreach($allSlabs as $server => $slabs) {
        foreach($slabs AS $slabId => $slabMeta) {
           if (!is_numeric($slabId)) {
                continue;
           } 
           $cdump = $memcache->getExtendedStats('cachedump',(int)$slabId);
            foreach($cdump AS $keys => $arrVal) {
                if (!is_array($arrVal)) continue;
                foreach($arrVal AS $k => $v) {                   
                    echo $k .' - '.date('H:i d.m.Y',$v[1]).'<br />';
                }
           }
        }
    }   
}

Copié de : https://stackoverflow.com/a/7480534/338840

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X