ASP.NET Web API OData サービスで使用できる、ほとんどが静的な (1 日に 1 回変更される可能性がある) オブジェクトのコレクションをキャッシュする必要があります。この結果セットは複数の呼び出しで使用されるため (クライアント呼び出し固有ではないことを意味します)、アプリケーション レベルでキャッシュする必要があります。
「Web API のキャッシング」についていろいろ検索しましたが、結果はすべて「出力キャッシング」に関するものでした。それは私がここで探しているものではありません。「People」コレクションをキャッシュして、後続の呼び出しで再利用したい (有効期限がスライドする可能性がある)。
私の質問は、これはまだ ASP.NET にすぎないため、このコレクションをメモリに永続化するために従来のアプリケーション キャッシュ手法を使用する必要があるか、それとも他に何かする必要があるかということです。このコレクションはユーザーに直接返されるのではなく、API 呼び出しを介して OData クエリのバックグラウンドでソースとして使用されます。すべての呼び出しでまったく同じ情報を取得するために、すべての呼び出しでデータベースにアクセスする必要はありません。1 時間ごとに期限切れにするだけで十分です。
このシナリオでデータを適切にキャッシュする方法を知っている人はいますか?