memcached 資料一覧
2008/5/26更新
対応バージョン: 0.21
libmemcachedに付属する各種ツールについて使用方法を説明する。
基本的に--serversで接続するサーバを指定する。サーバはカンマで区切って複数指定できる。ただし、特定のサーバに接続して処理をすべきツール(memrm,memcat,memcp)は複数指定しても最初の1台にだけ作用する。
memflush
指定したmemcached内のデータをすべて削除する。
例)
% memflush --servers=srv1,srv2
memslap
指定したmemcachedの負荷テストを行う。
デフォルトで10000回のテストを行うが、--execute-number=オプションで任意の回数を指定できる。その他いろいろなオプションがあるがここでは割愛する。
例)
% memslap --servers=srv1,srv2 --execute-number=30000 Threads connecting to servers 1 Took 4.791 seconds to load data
memerror
memcachedのエラーコードの意味を表示する。
例)
% memerror 1 FAILURE % memerror 2 HOSTNAME LOOKUP FAILURE
memcached-1.2.5の場合、エラーコードは32個定義されている。
1:FAILURE 2:HOSTNAME LOOKUP FAILURE 3:CONNECTION FAILURE 4:CONNECTION BIND FAILURE 5:WRITE FAILURE 6:READ FAILURE 7:UNKNOWN READ FAILURE 8:PROTOCOL ERROR 9:CLIENT ERROR 10:SERVER ERROR 11:CONNECTION SOCKET CREATE FAILURE 12:CONNECTION DATA EXISTS 13:CONNECTION DATA DOES NOT EXIST 14:NOT STORED 15:STORED 16:NOT FOUND 17:MEMORY ALLOCATION FAILURE 18:PARTIAL READ 19:SOME ERRORS WERE REPORTED 20:NO SERVERS DEFINED 21:SERVER END 22:SERVER DELETE 23:SERVER VALUE 24:STAT VALUE 25:SYSTEM ERROR 26:COULD NOT OPEN UNIX SOCKET 27:ACTION NOT SUPPORTED 28:A KEY LENGTH OF ZERO WAS PROVIDED 29:FETCH WAS NOT COMPLETED 30:A TIMEOUT OCCURRED 31:ACTION QUEUED 32:A BAD KEY WAS PROVIDED/CHARACTERS OUT OF RANGE
memrm
指定したmemcachedから特定のキーのデータを削除する。
例)
% memrm --servers=srv1 foo
指定したキーのデータが存在しない場合は以下のようなメッセージが返る。
memrm: foo: memcache error NOT FOUND
memstat
指定したmemcachedの利用状況をレポートする。
例)
% memstat --servers=srv1,srv2 Listing 2 Server Server: srv1 (11211) pid: 17581 uptime: 127562 time: 1200116116 version: 1.2.5 pointer_size: 32 rusage_user: 0.492925 rusage_system: 1.141826 curr_items: 101 total_items: 101 bytes: 0 curr_connections: 0 total_connections: 0 connection_structures: 3 cmd_get: 100 cmd_set: 101 get_hits: 100 get_misses: 0 evictions: 0 bytes_read: 0 bytes_written: 0 limit_maxbytes: 67108864 threads: 0 Server: srv2 (11211) pid: 18052 uptime: 148 time: 1200113846 version: 1.2.5 pointer_size: 32 rusage_user: 0.0 rusage_system: 0.0 curr_items: 1 total_items: 1 bytes: 0 curr_connections: 0 total_connections: 0 connection_structures: 2 cmd_get: 2 cmd_set: 1 get_hits: 1 get_misses: 1 evictions: 0 bytes_read: 0 bytes_written: 0 limit_maxbytes: 67108864 threads: 0
memcat
指定したmemcachedに格納されている特定のキーのデータを表示する。
例)
% memcat --servers=srv1 foo abcde
指定したキーのデータが存在しない場合は何も表示されない。
memcp
memcachedに定義するデータをファイルから取り込む。
ファイル名がキーとなり、ファイル中に記述した文字列がデータとなる。
--set、--add、--replaceにてデータの格納方法を指定し、--flag、--expireにて格納データへのオプションを指定する。
例)
% echo -n 123 > foo % echo -n abcde > bar % memcp --servers=srv1 --set foo bar % memcat --servers=srv1 foo 123 % memcat --servers=srv1 bar abcde
(*) ファイル中に改行コードを入れるとその文字も1文字と数えられてしまうので注意が必要である。ここでは「echo -n」として改行コードを入れないようにしている。
関連資料・記事