1. Memcached とは
- Memcached(メムキャッシュディー)は、memory cache daemonの略。
- ファイルやデータベースのセッションデータの内容を、キーバリュー型のペアデータとしてサーバのメモリ上に一時保管して、データを高速に読み出すキャッシュサーバ(インメモリデータストア)として、よく利用される。
- 高性能な分散メモリ・オブジェクト・キャッシュ・システムであり、もともとはデータベースの負荷を軽減することで、動的なウェブ・アプリケーションを高速化するために使用することを目的としていた。
2. Memcached の導入(前準備)
- Windows
MemcachedのWindows用バイナリをダウンロードし、ZIPファイルを任意の場所に解凍する。
ダウンロード(windows64ビット版 memcached-1.6.8-win64-mingw.zip):
https://github.com/jefyt/memcached-windows/releases/tag/1.6.8_mingw
- macOS (Homebrewを使う場合)
> brew install memcached
- Debian/Ubuntu
> sudo apt update
> sudo apt install memcached
- Redhat
> sudo yum install memcached
参考:Memchached公式サイト
https://memcached.org/downloads
3. Memcached サーバの起動
Memcached サーバを起動する(デフォルトポート番号:11211)。
> memcached -d start
※特定のポートで起動する場合:
> memcashed -p <ポート番号> -d start
Memcachedサーバを停止する。
> memcached -d stop
4. TelnetでMemcached サーバに接続
Memcached サーバには、telnet/専用のクライアントライブラリを使用して対話的にコマンド操作する。ここではTelnetで接続する。
> telnet localhost 11211
5. Memcached コマンドの使い方
Memcachedのデータ操作を行う基本的なTelnetコマンドを以下に紹介する。
5-1. データの登録(SET)
set [ キー ] [ フラグ ] [ 有効期限 ] [ バリュー(値)のバイト数 ]
[バリュー(値)]
- キー :キーバリューのキーを入力(最大:250文字)
- フラグ :符号なし整数を入力(特別な意味は無く、ユーザ自身で管理するフラグ)
- 有効期限:有効期限を秒単位で入力(0秒で設定すると有効期限は無期限になる)
- バリュー(値)のバイト数:バリューのデータのバイト数を入力
- バリュー(値):バリューのデータ(文字/数字 等)
例1)”orange”(オレンジ)というキーに、"100"(円)というバリュー(値)を設定する。
> set orange 0 0 3
100
STORED
例2)”user1”(ユーザ1)というキーに、"taro"(太郎)というバリュー(値)を設定する。
> set user1 0 0 4
taro
STORED
5-2. データの取得(GET)
例3)”orange”というキーのバリュー(値)を取得する。
> get orange
VALUE orange 0 3
100
END
例4)”user1”というキーのバリュー(値)を取得する。
> get user1
VALUE user1 0 4
taro
END
5-3. データの更新/置換(REPLACE)
例5)”user1”というキーのバリュー(値)を”taro”から”hanako”に更新/置換する。
> replace user1 0 0 6
hanako
STORED
5-4. データの加算(INCR)
例6)”orange”というキーのバリュー(値)を10(円)加算する。100+10=110円になる。
> incr orange 10
110
5-5. データの減算(DECR)
例7)”orange”というキーのバリュー(値)を5(円)減算する。110-5=105円になる。
> decr orange 5
105
5-6. データの削除(DELETE)
例8)”user1”というキーとそのバリュー(値)を削除する。
> delete orange
DELETED
5-7. 全データの削除(FLUSH_ALL)
例8)インメモリに登録されている全データを削除する。
> flush_all
OK
以上