Storage Service を使用したキャッシュ
Storage Service は、強力で使いやすいキャッシュインフラストラクチャを提供し、クライアント上でのユーザエクスペリエンスを拡張します。クライアントアプリケーションでは、データをキャッシュすることによって、サーバからデータを要求するのではなくローカルにデータを保存してアクセスするため、ページの応答時間が短縮されるという利点があります。特に、パフォーマンスが高く接続時間が長いアプリケーションを 3G ネットワークなどの待ち時間の長い接続上で稼働させる場合には、キャッシュが役立ちます。
Storage Service は、ストレージのいくつかの実装をサポートし、ブラウザサポートと永続性およびセキュリティの指定された特性に基づいて実行時に 1 つの実装を選択します。ストレージには、永続的なストレージおよびセキュアなストレージがあります。永続的なストレージでは、キャッシュされたデータはブラウザのユーザセッション間で保持されます。セキュアなストレージでは、キャッシュされたデータは暗号化されます。
| ストレージアダプタ名 | 永続的 | セキュア |
|---|---|---|
| SmartStore | true | true |
| IndexedDB | true | false |
| MemoryAdapter | false | true |
- SmartStore
- (永続的かつセキュア) Salesforce Mobile SDK を使用して作成されたアプリケーションにのみ使用できるキャッシュサービスを提供します。Salesforce Mobile SDK を使用すると、Salesforce と統合するモバイルアプリケーションを開発できます。これらのモバイルアプリケーションで SmartStore を使用して、データをキャッシュできます。
- IndexedDB
- (永続的だがセキュアではない) クライアント側ストレージおよび構造化されたデータの検索のために API へのアクセスを提供します。詳細については、「Indexed Database API」を参照してください。
- MemoryAdapter
- (永続的ではないがセキュア) データをキャッシュするために JavaScript メモリへのアクセスを提供します。保存されたキャッシュはブラウザページごとにのみ保持されます。新しいページに移動すると、キャッシュはリセットされます。
Storage Service では、サービスの初期化の際に指定した永続性とセキュリティのオプションに一致するストレージアダプタが選択されます。たとえば、永続的だがセキュアではないストレージサービスを要求すると、ブラウザでサポートされていれば Storage Service は IndexedDB ストレージを返します。
セキュアなストレージを要求すると、データセキュリティを確保するために、Storage Service は永続性の要求を満たさない場合でも常にセキュアなアダプタを選択します。たとえば、永続的でセキュアなストレージは、Salesforce Mobile SDK を使用して作成されたカスタムアプリケーションにのみ使用できます。Salesforce Mobile SDK を使用して作成されていないアプリケーションに永続的でセキュアなストレージを要求すると、Storage Service はセキュアながら永続的ではない MemoryAdapter ストレージを返します。