মুখোশযুক্ত সামগ্রী দেখুন


36

কোনও মেমক্যাচড পুলের অভ্যন্তরে যা ক্যাশে রয়েছে তা অন্বেষণ করার জন্য কি কোনও সরঞ্জাম রয়েছে? কিছু বেশি গ্রাফ নয়, তবে প্রকৃত কী / মান বর্তমানে সঞ্চিত রয়েছে।

উত্তর:


9

চেষ্টা করুন stats items- যেমন

echo "stats items" | nc 127.0.0.1 11211

16
কিভাবে এই প্রশ্নের উত্তর দেয় ?! এটি কেবল সার্ভারের পরিসংখ্যানই দেয়, কোনও কী পুনরুদ্ধার করে না।
জগতেশ চha়া

24

সঠিক উত্তর হবে 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

দ্রষ্টব্য: এটি একটি অননুমোদিত কমান্ড যা মেমচেড দল দ্বারা সমর্থিত নয় এবং যে কোনও সংস্করণে সরানো যেতে পারে। সম্পূর্ণ রেফারেন্সের জন্য মেমক্যাচড স্ট্যাটাস ক্যাচডম্প কমান্ড বুঝে নিন


ক্যাশেডাম্প একটি অনিবন্ধিত পরিমাণে ডেটা সীমাবদ্ধ, 1-2 এমবিএমের চেয়ে বেশি গ্রেটেড হয় না এটি নির্ভরযোগ্য নয়
জন

11

memcached-টুল

সাম্প্রতিক সংস্করণে memcachedরয়েছে memcached-toolPerl স্ক্রিপ্ট, যেমন ব্যবহার:

memcached-tool localhost:11211 dump | less

যা সমস্ত কী এবং মানকে ডাম্প করে।

memdump

সার্ভার থেকে কীগুলির একটি তালিকা ডাম্প করতে, 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কমান্ড ব্যবহার করতে পারেন , যেমন

memccat CACHE-KEY

সজোরে আঘাত

বাশ শেলের সমস্ত কী ছুঁড়ে ফেলার জন্য, চেষ্টা করুন:

exec {memcache}<>/dev/tcp/localhost/11211; printf "stats items\nquit\n" >&${memcache}; cat <&${memcache}

netcat

এখানে একক আইটেম ব্যবহার করে উদাহরণ পেতে netcat:

echo "get 13456_-cache-some_object" | nc 127.0.0.1 11211

পাইথন

দেখুন: পাইথনের সাথে মেমচেড থেকে সমস্ত কী এবং মানগুলি কীভাবে রফতানি করবেন?


2
এই উত্তরটি আমাকে প্রকৃত মেমক্যাচড সরঞ্জাম: মেমকড্যাম্প সন্ধান করতে সহায়তা করেছে । : এই উত্তর দেখার stackoverflow.com/a/14491419/720360
mmuller

1
আমার প্রথমে ছিল apt install libmemcached-tools, কিন্তু তখনও এটি আমার পথে ছিল না, তাই /usr/share/memcached/scripts/memcached-tool localhost:11211 dump। উবুন্টু 18.
ক্যামিল গৌডেসুন

7

telnetকমান্ড ব্যবহার করে দেখুন , যেমন:

$ telnet 0 11211
stats
stats items
set key 1 23 8
get key

6

ইনস্টল করুন 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কাজ করছে বলে মনে হচ্ছে না।


2

বেসিক মেমচেডে আমি মনে করি না যে সার্ভারে সঞ্চিত কীগুলির জিজ্ঞাসার কোনও উপায় আছে। আপনি কেবলমাত্র ভাবেন যে স্টোরেজ এবং সঞ্চিত আইটেমগুলির সাথে সম্পর্কিত পরিসংখ্যান।

কিছু বিক্রেতারা যা মেমক্যাচড কমপ্লায়েন্ট সলিউশনগুলি তৈরি করেছে, যেমন গিয়ার 6 , ততক্ষণে জিজ্ঞাসা করার অনুমতি দেওয়ার জন্য কার্যকারিতা যুক্ত করেছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.