जवाबों:
सही उत्तर होगा echo "stats cachedump SLABS_ID LIMIT" | nc HOSTNAME PORT
जैसे। echo "stats cachedump 15 4" | nc 127.0.0.1 11211
यह आउटपुट को निम्नलिखित की तर्ज पर देगा:
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
नोट: यह एक अनकम्फर्टेबल कमांड है जो मेम्केच्ड टीम द्वारा समर्थित नहीं है और इसे किसी भी संस्करण में हटाया जा सकता है। पूर्ण संदर्भ के लिए, अंडरस्टैंडिंग मेमेकैट्स स्टैट्स कैश्ड कमांड को देखें ।
वहाँ के हाल के संस्करण में memcached
भी memcached-tool
पर्ल स्क्रिप्ट है, उदाहरण के लिए:
memcached-tool localhost:11211 dump | less
जो सभी कुंजियों और मूल्यों को धराशायी करता है।
किसी सर्वर से कुंजियों की सूची को डंप करने के लिए, उपयोग memcdump
/ memdump
उपकरण, जैसे
memcdump --servers=localhost
सभी वस्तुओं को डंप करने के लिए:
memcdump --servers=localhost | xargs -L1 -I% sh -c 'echo "get %" | nc localhost 11211'
सभी महत्वपूर्ण मानों को अलग-अलग फ़ाइलों में डंप करने के लिए:
while read -r key; do [ -f "$key" ] || echo "get $key" | nc localhost 11211 > "$key.dump"; done < <(memcdump --server localhost)
मुख्य मूल्य को प्रिंट करने के लिए, आप memccat
कमांड का उपयोग कर सकते हैं , जैसे
memccat CACHE-KEY
बैश शेल में सभी कुंजियों को डंप करने के लिए, कोशिश करें:
exec {memcache}<>/dev/tcp/localhost/11211; printf "stats items\nquit\n" >&${memcache}; cat <&${memcache}
यहां एकल आइटम का उपयोग करने के लिए उदाहरण दिया गया है netcat
:
echo "get 13456_-cache-some_object" | nc 127.0.0.1 11211
देखें: पायथन के साथ सम्मिलित सभी कुंजियों और मानों को कैसे निर्यात करें?
apt install libmemcached-tools
, लेकिन फिर भी यह मेरे रास्ते पर नहीं था, इसलिए /usr/share/memcached/scripts/memcached-tool localhost:11211 dump
। उबंटू 18.
स्थापित करें libmemcached-tools
और फिर आप सभी कुंजियों को प्राप्त करने के लिए इस कमांड का उपयोग कर सकते हैं:
memcdump --server=127.0.0.1
सामग्री देखने के लिए, आप एक विशिष्ट कुंजी के लिए पूछ सकते हैं:
memccat --server=127.0.0.1 SOME_KEY
या आप बैश में चाबियों की सूची पर लूप कर सकते हैं:
for key in $(memcdump --server=127.0.0.1); do echo ------ $key ------; memccat --server=127.0.0.1 $key; done
127.0.0.1 का उपयोग करना सुनिश्चित करें (यदि आप एक ही होस्ट पर कमांड चला रहे हैं) क्योंकि localhost
काम नहीं लगता है।
बुनियादी ज्ञापन में मुझे नहीं लगता कि सर्वर में संग्रहीत कुंजी के लिए क्वेरी करने का कोई तरीका है। आपको लगता है कि केवल आप भंडारण और संग्रहीत वस्तुओं से संबंधित आंकड़े प्राप्त कर सकते हैं।
कुछ विक्रेताओं ने मेमेकैल्ड कंप्लेंट सॉल्यूशंस विकसित किए हैं, जैसे कि गियर 6 , ने क्वेरी करने की अनुमति देने के लिए कार्यक्षमता को जोड़ा है।