Newer Version Available
プラットフォームキャッシュ機能
プラットフォームキャッシュ API を使用すると、Salesforce セッションに関連付けられたデータや、組織全体で共有されているデータを保存および取得できます。Cache 名前空間の Cache.Session、Cache.Org、Session.Partition、Org.Partition クラスを使用して、キャッシュ値の追加、取得、削除ができます。[設定] のプラットフォームキャッシュ区分ツールを使用して、組織のパーティ���ョンを作成または削除したり、アプリケーション間のパフォーマンスのバランスが取れるようにキャッシュ容量を割り当てたりします。
キャッシュには次の 2 種類があります。
-
セッションキャッシュ — 個々のユーザセッションのデータを保存します。たとえば、指定したテリトリー内の顧客を検索するアプリケーションでは、ユーザが地図上の別の場所を参照中に実行される計算が再使用されます。
セッションキャッシュはユーザセッションと共に存続します。セッションの最大有効期限は 8 時間です。セッションキャッシュは、指定した Time to Live (ttlsecs 値) に達したとき、または 8 時間が経過してセッションが期限切れになったときのいずれか早い時点で有効期限が終了します。
-
組織キャッシュ — 組織のユーザが再使用するデータを保存します。たとえば、ユーザプロファイルに基づいてメニュー項目を動的に表示するナビゲーションバーの内容が再使用されます。
セッションキャッシュとは異なり、組織キャッシュには、すべてのセッション、要求、組織ユーザおよびプロファイルがアクセスできます。組織キャッシュは、指定した Time to Live (ttlsecs 値) に達したときに有効期限が終了します。
キャッシュ対象として最適なデータは、次のとおりです。
- セッション全体を通して再利用される
- 静的である (急速に変化しない)
- 取得にコストがかかる
セッションキャッシュと組織キャッシュの両方について、ある名前空間のキャッシュデータが別の名前空間の類似データで上書きされないようにコールを実行できます。必要に応じて、Cache.Visibility 列挙を使用して Apex コードが呼び出し側の名前空間以外の名前空間のキャッシュデータにアクセスできるかどうかを指定できます。
各キャッシュ操作は、それが実行される Apex トランザクションに依存します。トランザクション全体が失敗した場合は、そのトランザクション内のすべてのキャッシュ操作がロールバックされます。