memcached 【memory cache daemon】
概要
memcached(memory cache daemon)とは、分散メモリキャッシュシステムを構築することができるキャッシュサーバの一つ。サーバのメインメモリ上にファイルやデータベースの内容を一時保管して高速に読み出せるようにする。オンメモリで動作するKVS(Key-Value Store)となっており、標識となるデータ(key)に格納したいデータ(value)を一対一に対応付けて保管する。確保したメモリ容量がいっぱいになると、最終アクセス日時が古い順(LRU:Least Recently Used)に既存データを削除して新規データ用の容量を確保する。
複数のmemcachedサーバを並列に動作させることで分散キャッシュシステムを構築することができるが、memcached自身はデータの分散や統一的なアクセス手段を提供せず、キャッシュの読み書きを行うクライアント側(Webアプリケーション等)の責任で各サーバへの振り分けや読み込みを管理する必要がある。
データベースシステムと連携してデータベースへの検索や読み込みクエリの実行結果を一時的に保管する用途としてよく用いられる。オプションで任意のバイナリデータを格納することもでき、画像ファイルの配信高速化などに用いられることもある。
米ダンガ・インタラクティブ(Danga Interactive)社が自社サービスのために開発したもので、BSDライセンスに基いてオープンソースソフトウェアとして公開されている。Linuxや各種のUNIX系OS、macOS、Windowsなど様々な環境に対応できる。初期設定ではTCPとUDPの11211番ポートで外部と通信する。
(2020.4.8更新)