mokky14's IT diary

IT関係の仕事メモ、勉強会の感想など書いてます。

memcachedの操作メモ

以前に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>

$