インメモリキャッシュ 【in-memory cache】
概要
インメモリキャッシュ(in-memory cache)とは、通常はストレージから読み出すファイルなどのデータをメインメモリ上に保管しておき、高速に読み出せるようにするソフトウェア。Webサーバの高速化などのために用いられる。メモリ上で動作するKVS(Key-Value Store)となっており、標識となるデータ(key:キー)に格納したいデータ(value:値)を一対一に対応付けて保管する。どんなデータを格納するかは用途次第だが、Webサーバなどでストレージ上のファイルをメモリ上にキャッシュする用途で用いられることが多い。
サーバ上では外部から要求に応じてハードディスクやSSDなどのストレージからファイルの内容を読み込んで送信する動作が繰り返し行われるが、インメモリキャッシュによって頻繁に要求されるファイルの内容をメモリから読み込むようにすることで、データの読み込みにかかる時間を大幅に短縮することができる。
永続的にデータを保管するためのシステムではなく、他で保管されているデータに素早くアクセスできるようにする目的で使われるため、確保したメモリ容量がいっぱいになると、最終アクセス日時が古い順(LRU:Least Recently Used)などで登録済みのデータを削除して新規データ用の容量を確保する。
インメモリキャッシュとして用いられるソフトウェアとしては、オープンソースソフトウェアの「memcached」や「Redis」がよく知られる。このようなソフトウェアの機能をクラウド上で提供するサービスもあり、米アマゾンドットコム(Amazon.com)社が「Amazon Web Services」(AWS)のサービス品目の一つとして提供する「Amazon ElastiCache」などがよく知られている。
(2024.6.30更新)