おいキミ、彼はいったいどこで!?
おいキミ、彼はいったいどこで!?
2015.07.30

ディレクターなら知っておきたいキャッシュサーバ「memcached」の基礎知識

Jack

実際に使ってみる

さあ、準備が整いましたね。実際に利用してみましょう。
telnetからmemcachedに接続し、データのread/write処理をします。

memcachedに接続する

下記コマンドを入力して接続してみます。接続後、statsコマンドを入力すると接続ステータス情報が表示されます。

$ telnet 127.0.0.1 11211
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
stats
STAT pid 11852
STAT uptime 582
STAT time 1435156147
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.017610
STAT rusage_system 0.017610
STAT curr_connections 5
STAT total_connections 8
STAT connection_structures 6
STAT reserved_fds 20
STAT cmd_get 1
STAT cmd_set 1
STAT cmd_flush 0
STAT cmd_touch 0
STAT get_hits 1
STAT get_misses 0
STAT delete_misses 0
STAT delete_hits 0
STAT incr_misses 0
STAT incr_hits 0
STAT decr_misses 0
STAT decr_hits 0
STAT cas_misses 0
STAT cas_hits 0
STAT cas_badval 0
STAT touch_hits 0
STAT touch_misses 0
STAT auth_cmds 0
STAT auth_errors 0
STAT bytes_read 119
STAT bytes_written 110
STAT limit_maxbytes 67108864
STAT accepting_conns 1
STAT listen_disabled_num 0
STAT threads 4
STAT conn_yields 0
STAT hash_power_level 16
STAT hash_bytes 524288
STAT hash_is_expanding 0
STAT expired_unfetched 0
STAT evicted_unfetched 0
STAT bytes 71
STAT curr_items 1
STAT total_items 1
STAT evictions 0
STAT reclaimed 0
END

接続成功ですね。おめでとうございます!

データを保存する

memcachedにデータを保存する際は、setコマンドを利用します。
setコマンドのフォーマットは下記となります。

set [キー] [データ圧縮フラグ] [キャッシュの有効期限] [サイズ] <改行>
[格納する値]

例えば、「lig」というキーに対して「jack」という「4バイト」の文字列を「非圧縮」で「600秒間(10分間)」保存する際は、下記コマンドを実行します。

set lig 0 600 4
jack
STORED

パラメータの対応表は下記となります。

説明
キー 格納するデータのキー
データ圧縮フラグ データの圧縮指定フラグ(1:zip圧縮/0:非圧縮)
キャッシュの有効期限 UNIXタイムスタンプ形式か現在からの秒数を指定
サイズ 格納するデータ長をバイト単位で指定

データを取り出す

memcachedへのデータ保存に成功したので、次はデータを取り出す作業です。
データを取り出す際には、getコマンドを利用します。
getコマンドのフォーマットは下記となります。

set [キー]

先ほど保存した、「lig」というキーの値を取得してみましょう。

get lig
VALUE lig 0 4
jack
END

「jack」という文字列が返却されましたね。成功です。

終わりに

いかがでしたか?
今回はmemcachedの簡単な使い方をご紹介させていただきました。
次回は、LAMP環境下での利用方法をご紹介できればと思います。

  • 1
  • 2