Pesta
Untuk mendapatkan daftar kunci di Bash, ikuti langkah-langkah ini.
Pertama, tentukan fungsi pembungkus berikut untuk membuatnya mudah digunakan (salin dan tempel ke shell):
function memcmd() {
exec {memcache}<>/dev/tcp/localhost/11211
printf "%s\n%s\n" "$*" quit >&${memcache}
cat <&${memcache}
}
Memcached 1.4.31 ke atas
Anda dapat menggunakan lru_crawler metadump all
perintah untuk membuang (sebagian besar) metadata untuk (semua) item dalam cache.
Berbeda dengan cachedump
itu, itu tidak menyebabkan masalah kinerja yang parah dan tidak memiliki batasan pada jumlah kunci yang dapat dibuang.
Contoh perintah dengan menggunakan fungsi yang didefinisikan sebelumnya:
memcmd lru_crawler metadump all
Lihat: ReleaseNotes1431 .
Memcached 1.4.30 dan di bawah
Dapatkan daftar lempengan dengan menggunakan perintah statistik item , misalnya:
memcmd stats items
Untuk setiap kelas slub, Anda bisa mendapatkan daftar item dengan menentukan id slub bersama dengan nomor batas ( 0
- tidak terbatas):
memcmd stats cachedump 1 0
memcmd stats cachedump 2 0
memcmd stats cachedump 3 0
memcmd stats cachedump 4 0
...
Catatan: Anda perlu melakukan ini untuk setiap server memcached.
Untuk daftar semua kunci dari semua bertopik, di sini adalah satu-liner (per satu server):
for id in $(memcmd stats items | grep -o ":[0-9]\+:" | tr -d : | sort -nu); do
memcmd stats cachedump $id 0
done
Catatan: Perintah di atas dapat menyebabkan masalah kinerja yang parah saat mengakses item, jadi tidak disarankan untuk dijalankan secara langsung.
Catatan:
stats cachedump
hanya membuang HOT_LRU
(IIRC?), yang dikelola oleh utas latar saat aktivitas terjadi. Ini berarti di bawah versi yang cukup baru dimana algo 2Q diaktifkan, Anda akan mendapatkan tampilan snapshot dari apa yang ada hanya di salah satu LRU.
Jika Anda ingin melihat semuanya, lru_crawler metadump 1
(atau lru_crawler metadump all
) adalah metode baru yang sebagian besar didukung secara resmi yang akan secara tidak sinkron membuang kunci sebanyak yang Anda inginkan. Anda akan mendapatkan mereka rusak tetapi hits semua LRU, dan kecuali jika Anda menghapus / mengganti item beberapa kali harus menghasilkan hasil yang sama.
Sumber: GH-405 .
Terkait: