私はSQLサービスから取得したデータをキャッシュしようとしていますが、System.Runtime.Cachingのメモリキャッシュクラスを使用しようとしましたが、アプリケーションを終了するたびにキャッシュが空になっているようです。アプリケーション外部のキャッシュデータ
私の質問は、私のアプリケーションを再起動しても私が得ることができるように私のデータをキャッシュする方法はありますか?
Im BizTalkからサービスを使用するため、必要なときにアプリケーションが開始されますが、SQLポーリングには時間がかかりすぎます。ここで
があるとのコードイムテスト:
const string KEY = "key";
static void Main(string[] args)
{
MemoryCache cache = MemoryCache.Default;
Cache(cache);
Get(cache);
Console.Read();
}
private static void Get(MemoryCache cache)
{
string result = cache.Get(KEY) as string;
Console.WriteLine(result);
}
private static void Cache(MemoryCache cache)
{
CacheItemPolicy policy = new CacheItemPolicy();
policy.AbsoluteExpiration = DateTimeOffset.Now.AddMinutes(10);
bool res = cache.Add(KEY, "This was Cached", policy);
if (res)
Console.WriteLine("Added Succesfully");
else
Console.WriteLine("Adding Failed");
}
MemoryCacheは、データをメモリに保存するだけです。 FileCacheまたはDatabaseCacheが必要ですが、フレームワークにAFAIKは存在しません。 – rene
キャッシュのためにRedis(https://redis.io/)を試すことができます – Sergey