コンソールからMemcacheの中身を見るためには基本的にはtelnetを使うしかないです。
telnet での Memcache 接続方法と切断方法
以下のように接続できます。
$ telnet <host> <port>
Memcache はデフォルトだと11211ポートで動いています。localhostで動いているMemcacheにポート11211で接続するには以下のようにします。
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'.
これで接続できましたので、後述する set
や get
といったコマンドを実行できます。
切断するには quit
と入力します。
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. quit Connection closed by foreign host. $
値をsetする
telnet で接続した後に以下の様に入力すると値をsetできます。
$ telnet localhost 11211 Connected to localhost. Escape character is '^]'. set <key> <flag> <byte>[Enter] <setする値>
<flag>
は 0
or 1
の値で、0だと非圧縮、1だと圧縮した後にデータをストアします。
<byte>
は <setする値>
のバイト数です。例えば abcd
なら4バイトですので 4
と入力します。
key, flag byte を入力した後Enterを押し、その後にsetしたい値を入力するとkeyに値がsetされます。
set hoge 0 0 4 abcd STORED
setした値は後述のgetを使えば取得することができます。
値をgetする
telnet で接続した後に get <key>
と入力するとkeyに対応した値をとれます。
値が存在する場合はその値が表示された後に END
と表示されます。
$ telnet localhost 11211 Connected to localhost. Escape character is '^]'. get hoge VALUE hoge 0 4 abcd END
1行目にkeyとフラグ、バイト数が表示され、2行めに値、最後に END
と表示されます。
値が存在しない場合は END
とだけ表示されます。
$ telnet localhost 11211 Connected to localhost. Escape character is '^]'. get hoge END
値をdeleteする
delete <key>
と入力するとkeyに対応した値が削除されます。
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. get hoge VALUE hoge 0 4 abcd END delete hoge DELETED get hoge END
DELETED
と表示されます。keyに対応する値がない場合は NOT_FOUND
と表示されます。
$ telnet localhost 11211 Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. delete hoge NOT_FOUND
まとめ
以上がMemcacheをコンソールから叩く方法です、少し面倒ですがデバッグなどで必要になる場合もあるので覚えておきましょう。
Webエンジニアが知っておきたいインフラの基本 ~インフラの設計から構成、監視、チューニングまで~
- 作者: 馬場俊彰
- 出版社/メーカー: マイナビ
- 発売日: 2014/12/27
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (5件) を見る
webやアプリケーションのエンジニアがインフラについて学びたい時にまず読むといい本です。インフラの基礎から運用まで、アプリケーションエンジニア向けに解説しています。非常にとっつきやすい本なのでオススメです。