Yanıtlar:
Doğru cevap echo "stats cachedump SLABS_ID LIMIT" | nc HOSTNAME PORT
Örneğin. echo "stats cachedump 15 4" | nc 127.0.0.1 11211
Bu, şu satırlardaki çıktıyı verir:
ITEM cache_path-comments%2Fpage%2F2 [2211 b; 1337195558 s]
ITEM cache_path-comments%2Fpage%2F5 [2205 b; 1337195558 s]
ITEM cache_path-comments%2Fpage%2F6 [2179 b; 1337195558 s]
ITEM cache_path-comments [2164 b; 1337195558 s]
END
Not: Bu, memcached ekibi tarafından desteklenmeyen ve herhangi bir sürümde kaldırılabilen belgelenmemiş bir komuttur. Tam referans için Memcached istatistiklerini anlama cachedump komutunu inceleyin .
Son versiyonunda perl betiği memcached
de var memcached-tool
, örneğin kullanım:
memcached-tool localhost:11211 dump | less
tüm anahtarları ve değerleri boşa harcar.
Bir sunucudan bir anahtar listesi dökmek için, memcdump
/ memdump
aracını kullanın , örn.
memcdump --servers=localhost
Tüm nesneleri atmak için:
memcdump --servers=localhost | xargs -L1 -I% sh -c 'echo "get %" | nc localhost 11211'
Tüm anahtar değerleri ayrı dosyalara dökmek için:
while read -r key; do [ -f "$key" ] || echo "get $key" | nc localhost 11211 > "$key.dump"; done < <(memcdump --server localhost)
Bir anahtar değeri yazdırmak için memccat
, örneğin
memccat CACHE-KEY
Tüm anahtarları Bash kabuğuna atmak için şunu deneyin:
exec {memcache}<>/dev/tcp/localhost/11211; printf "stats items\nquit\n" >&${memcache}; cat <&${memcache}
Tek bir öğenin değerini kullanarak örnek alıyorsunuz netcat
:
echo "get 13456_-cache-some_object" | nc 127.0.0.1 11211
Bakınız: Tüm anahtarlar ve değerler Python ile memcached'den nasıl dışarı aktarılır?
apt install libmemcached-tools
, ama sonra hala yolumda değildi, o yüzden /usr/share/memcached/scripts/memcached-tool localhost:11211 dump
. Ubuntu 18.
Kur libmemcached-tools
ve sonra bu komutu tüm anahtarları almak için kullanabilirsin:
memcdump --server=127.0.0.1
İçeriği görmek için belirli bir anahtar isteyebilirsiniz:
memccat --server=127.0.0.1 SOME_KEY
ya da Bash’deki anahtar listesi üzerinde dolaşabilirsiniz:
for key in $(memcdump --server=127.0.0.1); do echo ------ $key ------; memccat --server=127.0.0.1 $key; done
127.0.0.1 kullandığınızdan emin olun (aynı ana bilgisayarda komutu çalıştırıyorsanız) çünkü localhost
çalışmaz.
Temel memcached içinde sunucuda saklanan anahtarları sorgulamanın herhangi bir yolu olduğunu sanmıyorum. Alabileceğiniz tek düşünce, depolama ve depolanan öğelerle ilgili istatistiklerdir.
Bununla birlikte , memcached uyumlu çözümler geliştiren bazı satıcılar, örneğin Gear6 , sorgulamaya izin vermek için işlevsellik ekledi.