ASP.Netコアアプリケーションでキャッシュを実装しようとしています。現在実装しているのは、IMemoryCache
を使用しているメモリキャッシュですが、SQL Server 2016の対応するレコードが変更された場合、キャッシュが無効になる必要があります。私はそれを見つけた1つの方法SQLCacheDependency
しかし、それはthis linkのような.Netコアの一部ではない.Net core SQLキャッシュの依存性
これに関する考えは?
ASP.Netコアアプリケーションでキャッシュを実装しようとしています。現在実装しているのは、IMemoryCache
を使用しているメモリキャッシュですが、SQL Server 2016の対応するレコードが変更された場合、キャッシュが無効になる必要があります。私はそれを見つけた1つの方法SQLCacheDependency
しかし、それはthis linkのような.Netコアの一部ではない.Net core SQLキャッシュの依存性
これに関する考えは?
現在、このクラスは.Netコアに移行されていないため、このようなロジックを簡単に管理することはできません。おそらくそれは.Net Standard 2.0の一部であるため、で一時的な解決策を実装するか(非常に非効率的です)、または更新を待つかのどちらかです。
CancellationChangeTokenを追加してからCancelメソッドを呼び出すと、メモリ内のキャッシュからレコードが削除されます。その上に、あなたに利用可能なPostEvictionDelegateコールバックがあります(キャッシュレコードが追い出された後に追加のアクションを開始する)。 詳細はこちらhttps://docs.microsoft.com/en-us/aspnet/core/performance/caching/memory
キャンセルメソッドを呼び出す方法をどのように提案しますか? SQLデータベースのポーリングを作成しますか? – VMAtm
@VMAtmポーリングは片道です。ただし、キャッシュであることを考慮すると、データベースが実際に呼び出されたときにキャッシュを検証する必要があります(キャッシュの無効化のタイムアウトなどに基づいて、常に検証する必要がない限り)。 - キャッシュがミスの場合、cancelメソッドがリポジトリの実装。 –