アクセスが低速な場所にあるデータのうち、使用頻度が高いものや、最近アクセスしたものを、高速な記憶装置にコピーしておくことです。あるいは、その際に使われる高速な記憶装置のことや、コピーして作られたデータのことです。
キャッシュ (cache) は「貯蔵庫」のような意味合いの英単語です。「現金 (cash)」とは違います。
キャッシュの仕組みによって、低速な場所へアクセスする機会を減らせるため、全体として高速化されることが期待できます。このような期待が成り立つのは、データへのアクセスには参照局所性があることが知られているからです。特に、1度参照されたデータは、近い将来に再び参照される可能性が高い(時間的局所性)という性質を利用しています。
キャッシュの考え方は色々なところで使われています。
一例として、CPU とメインメモリのあいだで、キャッシュが使われています。CPU の速度に比べると、メインメモリにアクセスする速度は非常に遅いため、メインメモリへのアクセスがボトルネックとなって、全体の性能を落とす結果になります。そこで、メインメモリよりも高速なキャッシュメモリをあいだに設け、使用頻度が高いデータをキャッシュメモリに保存しておくことで、メインメモリへアクセスする機会を減らして高速化を図ります。
ほかにも、ネットワークの分野では、サーバー側にあるデータをクライアント側にダウンロードしたときに、ストレージなどにコピーを取っておけば(=キャッシュしておけば)、再び同じデータが必要になったときに通信をおこなう必要がなく、高速にデータへアクセスできます。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |