Frapper
Pour obtenir la liste des clés dans Bash, procédez comme suit.
Tout d'abord, définissez la fonction wrapper suivante pour la rendre simple à utiliser (copier et coller dans le shell):
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 et supérieur
Vous pouvez utiliser la lru_crawler metadump all
commande pour vider (la plupart des) métadonnées pour (tous) les éléments dans le cache.
Par opposition à cachedump
, il ne cause pas de problèmes de performances graves et n'a pas de limites sur le nombre de clés pouvant être vidées.
Exemple de commande en utilisant la fonction précédemment définie:
memcmd lru_crawler metadump all
Voir: ReleaseNotes1431 .
Memcached 1.4.30 et inférieur
Obtenez la liste des dalles en utilisant la commande de statistiques d'éléments , par exemple:
memcmd stats items
Pour chaque classe de slub, vous pouvez obtenir la liste des éléments en spécifiant l'ID de slub avec le nombre limite ( 0
- illimité):
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
Remarque: vous devez effectuer cette opération pour chaque serveur Memcached.
Pour lister toutes les clés de tous les stubs, voici le one-liner (pour un serveur):
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
Remarque: la commande ci-dessus peut entraîner de graves problèmes de performances lors de l'accès aux éléments, il n'est donc pas conseillé de l'exécuter en direct.
Remarques:
stats cachedump
ne HOT_LRU
vide que le (IIRC?), qui est géré par un thread d'arrière-plan lorsque l'activité se produit. Cela signifie que sous une version suffisamment nouvelle que l'algo 2Q a activé, vous obtiendrez des vues instantanées de ce qui se trouve dans un seul des LRU.
Si vous voulez tout afficher, lru_crawler metadump 1
(ou lru_crawler metadump all
) est la nouvelle méthode principalement officiellement prise en charge qui videra de manière asynchrone autant de clés que vous le souhaitez. vous les obtiendrez dans le désordre mais cela touche tous les LRU, et à moins que vous ne supprimiez / remplaciez des éléments, plusieurs exécutions devraient donner les mêmes résultats.
Source: GH-405 .
En relation: