「オブジェクト・キャッシュ」の版間の差分

提供: MonoBook
ナビゲーションに移動 検索に移動
(ページの作成:「'''オブジェクト・キャッシュ'''とは、一部のオブジェクト指向プログラミング言語のランタイムに内蔵されている「オブ…」)
 
 
(同じ利用者による、間の2版が非表示)
1行目: 1行目:
 
'''オブジェクト・キャッシュ'''とは、一部の[[オブジェクト指向プログラミング言語]]のラン[[タイム]]に内蔵されている「オブジェクト生成を高速化する機能」です。
 
'''オブジェクト・キャッシュ'''とは、一部の[[オブジェクト指向プログラミング言語]]のラン[[タイム]]に内蔵されている「オブジェクト生成を高速化する機能」です。
  
あるオブジェクトを生成する際に[[コンストラクタ]]まで実行した状態のコピーを[[メモリ]]の空きスペースにキャッシュしておくというもので、キャッシュがある場合はコンストラクタの実行を省けるというものです。ちなみに[[PHP]]では[[ソースコード]]から変換した[[中間コード]]もキャッシュ対象です。
+
あるオブジェクトを生成する際に[[コンストラクタ]]まで実行した状態のコピーを[[メモリ]]の空きスペースにキャッシュしておくというもので、キャッシュがある場合はコンストラクタの実行を省けるというものです。ちなみに[[PHP]]では[[ソースコード]]から変換した[[中間コード]]もキャッシュ対象で、その保存先はメモリだけでなく[[ファイル]]や[[データベース]]、さらには[[Memcached]]などでサーバー間でも共有するなどといった方法も利用できます。
  
オブジェクトキャッシュはオブジェクト生成を頻繁に繰り返す場面では効果が高い。塵も積もれば山となるというものです。とくに[[ウェブサーバー]]のような「1ページが1オブジェクト」「1アクセスごとに1オブジェクトを生成」する用途では塵も積もりやすいようです。
+
オブジェクトキャッシュはオブジェクト生成を頻繁に繰り返す場面では効果が高い。塵も積もれば山となるというものです。とくに[[ウェブサーバー]]のような「1ページが1オブジェクト+α」「1アクセスごとに1オブジェクトを生成」する用途では塵も積もりやすいようです。
  
 
オブジェクトキャッシュは「[[プログラミング言語]]を作る[[プログラマー]]」が意識すべきものであり、[[プログラミング言語]]を利用するだけの[[プログラマー]]が意識することはほとんどありません。ただほとんどの[[プログラミング言語]]には明示的にオブジェクトキャッシュを制御するなんらかの手法が用意されています。なお、そんなものを意識して[[プログラミング]]して工数を激増させるくらいなら高性能な[[サーバー]]を買って力まかせにぶん回した方が安上がりなことが多いです。
 
オブジェクトキャッシュは「[[プログラミング言語]]を作る[[プログラマー]]」が意識すべきものであり、[[プログラミング言語]]を利用するだけの[[プログラマー]]が意識することはほとんどありません。ただほとんどの[[プログラミング言語]]には明示的にオブジェクトキャッシュを制御するなんらかの手法が用意されています。なお、そんなものを意識して[[プログラミング]]して工数を激増させるくらいなら高性能な[[サーバー]]を買って力まかせにぶん回した方が安上がりなことが多いです。

2023年10月26日 (木) 02:08時点における最新版

オブジェクト・キャッシュとは、一部のオブジェクト指向プログラミング言語のランタイムに内蔵されている「オブジェクト生成を高速化する機能」です。

あるオブジェクトを生成する際にコンストラクタまで実行した状態のコピーをメモリの空きスペースにキャッシュしておくというもので、キャッシュがある場合はコンストラクタの実行を省けるというものです。ちなみにPHPではソースコードから変換した中間コードもキャッシュ対象で、その保存先はメモリだけでなくファイルデータベース、さらにはMemcachedなどでサーバー間でも共有するなどといった方法も利用できます。

オブジェクトキャッシュはオブジェクト生成を頻繁に繰り返す場面では効果が高い。塵も積もれば山となるというものです。とくにウェブサーバーのような「1ページが1オブジェクト+α」「1アクセスごとに1オブジェクトを生成」する用途では塵も積もりやすいようです。

オブジェクトキャッシュは「プログラミング言語を作るプログラマー」が意識すべきものであり、プログラミング言語を利用するだけのプログラマーが意識することはほとんどありません。ただほとんどのプログラミング言語には明示的にオブジェクトキャッシュを制御するなんらかの手法が用意されています。なお、そんなものを意識してプログラミングして工数を激増させるくらいなら高性能なサーバーを買って力まかせにぶん回した方が安上がりなことが多いです。

関連項目[編集 | ソースを編集]