2011-12-07 26 views
7

Tôi đã cài đặt memcache và bây giờ làm cách nào để xem dữ liệu trong memcache?Làm cách nào để xem dữ liệu trong memcache?

Có cách nào để xem dữ liệu có trong bộ nhớ cache bên trong memcache không?

Làm cách nào để biết liệu memcache có nhận được dữ liệu được lưu trữ bên trong nó không?

Lưu ý: Tôi không muốn viết bất kỳ chương trình nào để xem dữ liệu bên trong memcache. Về cơ bản, máy chủ memcache đã được cài đặt trong môi trường của tôi và nó cũng đang lưu vào bộ nhớ đệm dữ liệu. Nhưng tôi muốn biết nếu có bất kỳ chương trình tiện ích có sẵn mà sẽ cho tôi thấy các dữ liệu được lưu trữ bên trong memcache hoặc nếu có bất kỳ lệnh nào sẽ cho tôi thấy dữ liệu được lưu trữ cho đến nay.

+0

Đầu tiên bạn cần có một khách hàng memcached dựa trên nền Java; xem http://stackoverflow.com/questions/731738/java-memcached-client –

+0

Bạn có nghĩa là tôi có thể sử dụng ứng dụng khách để xem dữ liệu được lưu trong bộ nhớ cache bên trong memcache không ?? – Mike

+0

Một khách hàng có vẻ như tôi vô dụng nếu bạn không thể sử dụng nó cho mục đích đó. Tôi sẽ đề nghị bạn nghiên cứu sau đó đăng một câu hỏi mới một khi bạn đang sử dụng một khách hàng, nếu bạn tiếp tục có vấn đề. –

Trả lời

8

Không có cách nào để ghi nhớ để báo cáo khóa nào được giữ. Tôi tin rằng đây là một lựa chọn thiết kế để làm như vậy sẽ có tác động tiêu cực đến hiệu suất.

Tuy nhiên, bạn có thể sử dụng bất kỳ ứng dụng khách telnet nào để kết nối với máy chủ ghi nhớ và nhập lệnh. Thực hiện việc này để nhận hoặc đặt một khóa cụ thể.

Ví dụ,

stats 

hay:

get MY_KEY 
6

Để đổ một danh sách các phím từ một máy chủ, sử dụng công cụ memdump (đôi khi memcdump), ví dụ

memdump --servers=localhost 

Để nhận được giá trị của mặt hàng, sử dụng netcat:

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

hoặc trong Bash:

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

Để đổ tất cả các đối tượng:

memdump --servers=localhost | xargs -L1 -I% sh -c 'echo "get %" | nc localhost 11211' 

hoặc trong Bash:

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

Hệ nhị phân có thể được đặt tên là 'memcdump' thay vì' memdump' trên bản phân phối của bạn. –

Các vấn đề liên quan