memcached の中身を確認するなら memcached-tool コマンド

memcached の中身を確認するなら memcached-tool コマンド

イメージ

蚊取り線香の焚きすぎで目がかい~~の。nakamura です。今年なんか蚊多くありません?

以前に CakePHP の特集 で取り上げたりもした memcached ですが、キャッシュの中身を簡単に確認できるツールないかな?と探していたところ memcached-tool というコマンドがある事を知ったので今回ご紹介しようと思います。

memcached-tool コマンドは memcached をインストールすると自動でくっついてくる、言ってみればめっちゃシンプルな memcached クライアントです。機能的には参照系のものしかなく、キャッシュの中身を書き換えたり削除したりというのはできないようです。

オプション

オプションは display, stats, dump の 3 つしかありません。ちなみにオプションなしでコマンドを実行すると使い方が表示されます。こんな感じ↓

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

使ってみよう

オプションそれぞれの実行結果は以下のようなものです。

display

memcached-tool localhost display
  #  Item_Size  Max_age   Pages   Count   Full?  Evicted Evict_Time OOM
  2     104B   2395538s       1       7      no        0        0    0
  3     136B   2395539s       1       3      no        0        0    0
  4     176B   2359340s       1       1      no        0        0    0
  5     224B   2359353s       1       1      no        0        0    0
  6     280B         0s       1       0      no        0        0    0
  7     352B   2318256s       1       1      no        0        0    0
  8     440B   2359352s       1       2      no        0        0    0
  9     552B   2359352s       1      10      no        0        0    0

コマンド実行時点で memcached 上に存在するキャッシュのオーバービューというか、要約的な一覧のようです。ちなみにホスト名のみの指定で実行するとデフォルトでこのオプションで動作します。

stats

memcached-tool localhost stats
#localhost:11211   Field       Value
         accepting_conns           1
               auth_cmds           0
             auth_errors           0
                   bytes      725340
              bytes_read   947369731
           bytes_written   308768608
              cas_badval           0
                cas_hits           0
              cas_misses           0
               cmd_flush           0
                 cmd_get     1039663
                 cmd_set     1160944
             conn_yields           0
   connection_structures          16
        curr_connections           5
              curr_items          51
               decr_hits           0
             decr_misses           0
             delete_hits          11
           delete_misses           3
               evictions           0
                get_hits      512475
              get_misses      527188
               incr_hits           0
             incr_misses           0
          limit_maxbytes    67108864
     listen_disabled_num           0
                     pid       24276
            pointer_size          32
               reclaimed      662297
           rusage_system   20.881825
             rusage_user   13.976875
                 threads           4
                    time  1280452877
       total_connections        5696
             total_items     1160944
                  uptime     2396814
                 version       1.4.5

memcached 全体の状態を表示してくれるようです。細かい項目の説明は、、、これから勉強します。

dump

memcached-tool localhost dump
Dumping memcache contents
  Number of buckets: 2
  Number of items  : 2
Dumping bucket 12 - 1 total items
add app_cake_core_core_paths 1 1280453801 803
a:10:{s:4:"libs";a:1:{i:0;s:41:"/var/www/htdocs/cake/libs/";}s:5:"model";a:1:{i:0;s:47:"/var/www/htdocs/cake/libs/model/";}s:8:"behavior";a:1:{i:0;s:57:"/var/www/htdocs/cake/libs/model/behaviors/";}s:10:"controller";a:1:{i:0;s:52:"/var/www/htdocs/cake/libs/controller/";}s:9:"component";a:1:{i:0;s:63:"/var/www/htdocs/cake/libs/controller/components/";}s:4:"view";a:1:{i:0;s:46:"/var/www/htdocs/cake/libs/view/";}s:6:"helper";a:1:{i:0;s:54:"/var/www/htdocs/cake/libs/view/helpers/";}s:4:"cake";a:1:{i:0;s:36:"/var/www/htdocs/cake/";}s:6:"vendor";a:1:{i:0;s:39:"/var/www/htdocs/vendors/";}s:5:"shell";a:1:{i:0;s:49:"/var/www/htdocs/cake/console/libs/";}}
Dumping bucket 2 - 1 total items
add app_cake_core_core_paths_expires 0 1280453801 10
1280453801

一番使いそうなオプションはこれかなぁ。キャッシュの中身を表示してくれます。上記は CakePHP の cake_core_core_paths のキャッシュ内容ですね。どうも memcached には bucket と item という 2 つ階層があるようです。知らなかった、、、

終わりに

memcached はまだあまり深く知らないのでちょっと勉強していこうかなぁ、という今日この頃でした。なんか libmemcached とかいうクライアントライブラリもあるっぽい。

  • このエントリーをはてなブックマークに追加

この記事を読んだ人にオススメ