Newer Version Available
プラットフォームキャッシュの考慮事項
プラットフォームキャッシュを使用する場合は、次の考慮事項を確認してください。
- キャッシュは永続的ではありません。データ損失に対する保証はありません。
- キャッシュ内のデータは暗号化されません。
- 組織キャッシュでは、同時に発生する複数の Apex トランザクションで読み取りおよび書き込みを並行して行うことができます。たとえば、あるトランザクションでキー PetName の値を Fido に更新するとします。同時に、別のトランザクションで同じキーの値を Felix に更新します。両方の書き込みは成功しますが、2 つの値のいずれかが任意に選択され、後でその値がトランザクションで読み取られます。ただし、この任意の選択はトランザクション単位ではなくキー単位で行われます。たとえば、あるトランザクションで PetType="Cat" と PetName="Felix" を書き込むとします。同時に別のトランザクションで PetType="Dog" と PetName="Fido" を書き込みます。この場合、PetType の値は最初のトランザクションから選択され、PetName の値は 2 番目のトランザクションから選択される可能性があります。後でこれらのキーに対して get() がコールされると、PetType="Cat" と PetName="Fido" が返されます。
- キャッシュの欠落が発生する可能性があります。以前キャッシュした項目が見つからない場合を考慮してコードを作成することをお勧めします。
- セッションキャッシュでは非同期 Apex はサポートされません。たとえば、future メソッドや Apex 一括処理をセッションキャッシュに使用することはできません。
- セッションキャッシュは、匿名 Apex ブロックをサポートしていません。たとえば、開発者コンソールで匿名 Apex を実行すると、エラーになります。
- Cache 名前空間で put メソッドおよび remove メソッドを使用して行われるキャッシュ操作は、Visualforce コントローラのコンストラクタではサポートされません。
- パーティションは、Salesforce 内の制限に従う必要があります。
- セッションキャッシュには最大 8 時間、値を保存できます。組織キャッシュには最大 48 時間、値を保存できます。