以前にmemcachedを少し触ったことあったが、しばらく触ってなかったら使い方忘れてたので、備忘録としてメモ残しとく。
環境:
- CentOS 6.4
- memcached 1.4.4(yumでインストしたもの)
起動
$ sudo /etc/init.d/memcached start memcached を起動中: [ OK ] $ ps -ef|grep memcached|grep -v grep 495 30826 1 0 16:51 ? 00:00:00 memcached -d -p 11211 -u memcached -m 64 -c 1024 -P /var/run/memcached/memcached.pid
接続
クライアントライブラリを使用せずに、telnetで接続する例
$ telnet localhost 11211 Trying ::1... Connected to localhost. Escape character is '^]'.
データ登録、取得、削除
指定できるコマンドの一覧はこのあたりを参照。
データ登録は、
set [キー名] [flag] [有効期限(0は無限)] [データ長]
[データ]
データ長が間違ってると登録されないので注意。
データの形には制限がなく、レコード毎に異なったデータ形式であっても登録可。
改行を含むデータも登録可能。
データの取得は、
get [キー名]
パラメータをみる限り、複数データの取得とかはなくて、あくまでキー指定の単一データ取得だけっぽい。
データの削除は、
delete [キー名]
set data1 0 0 30 1200 strings string2 290000.12 STORED get data1 VALUE data1 0 30 1200 strings string2 290000.12 END set data2 0 0 46 2400 string1 string2 290000.12 string3 string4 STORED get data2 VALUE data2 0 46 2400 string1 string2 290000.12 string3 string4 END set xmldata1 0 0 68 <val1>2400</val1> <string value="string1"/> <string>string2</string> STORED get xmldata1 VALUE xmldata1 0 68 <val1>2400</val1> <string value="string1"/> <string>string2</string> END set xmldata2 0 0 98 <val1> <integer>2400</integer> <string value="string1"/> <string>string2</string> </val1> STORED get xmldata2 VALUE xmldata2 0 98 <val1> <integer>2400</integer> <string value="string1"/> <string>string2</string> </val1> END delete data2 DELETED get data2 END
memcached-tool
memcached付属のツール。中身はperlのスクリプト。
memcachedのslabの状態(display)、統計情報(stats)、データ一覧(dump)を参照可能。
データの更新は出来ない。
$ file $(which memcached-tool) /usr/bin/memcached-tool: a /usr/bin/perl script text executable $ memcached-tool Usage: memcached-tool <host[:port]> [mode] memcached-tool 10.0.0.5:11211 display # shows slabs memcached-tool 10.0.0.5:11211 # same. (default is display) memcached-tool 10.0.0.5:11211 stats # shows general stats memcached-tool 10.0.0.5:11211 dump # dumps keys and values $ memcached-tool localhost:11211 display # Item_Size Max_age Pages Count Full? Evicted Evict_Time OOM 2 120B 755s 1 2 no 0 0 0 3 152B 1022s 1 1 no 0 0 0 4 192B 1261s 1 1 no 0 0 0 $ memcached-tool localhost:11211 stats #localhost:11211 Field Value accepting_conns 1 auth_cmds 0 auth_errors 0 bytes 532 bytes_read 1035 bytes_written 3834 cas_badval 0 cas_hits 0 cas_misses 0 cmd_flush 0 cmd_get 4 cmd_set 8 conn_yields 0 connection_structures 12 curr_connections 11 curr_items 4 decr_hits 0 decr_misses 0 delete_hits 0 delete_misses 0 evictions 0 get_hits 4 get_misses 0 incr_hits 0 incr_misses 0 limit_maxbytes 67108864 listen_disabled_num 0 pid 30826 pointer_size 64 rusage_system 0.055991 rusage_user 0.028995 threads 4 time 1375086364 total_connections 14 total_items 4 uptime 2047 version 1.4.4 $ memcached-tool localhost:11211 dump Dumping memcache contents Number of buckets: 3 Number of items : 4 Dumping bucket 2 - 2 total items add data2 0 1375084317 46 2400 string1 string2 290000.12 string3 string4 add data1 0 1375084317 30 1200 strings string2 290000.12 Dumping bucket 3 - 1 total items add xmldata1 0 1375084317 68 <val1>2400</val1> <string value="string1"/> <string>string2</string> Dumping bucket 4 - 1 total items add xmldata2 0 1375084317 98 <val1> <integer>2400</integer> <string value="string1"/> <string>string2</string> </val1> $