Redis、MongoDb、または他の高度にスケーラブルなツールなどの外部Dbで.NETセッション状態をキャッシュすることが大丈夫かどうかを調べています。Redis、MongoDB、ServiceStackを使用した.NETセッションステートキャッシング
私の研究の成果は、MongoDBがこのようなことを行うために統合されているにもかかわらず、Redisははるかに性能が高く、より多くのオプション(キーの有効期限やセットなど)を使用できるように思えます。
RedisClientの実装を持つServiceStackと呼ばれるこの他のフレームワークがありますが、実装されている方法は私が望むよりもはるかに結合されています。
public override object OnGet(CachedOrders request)
{
var cacheKey = "some_unique_key_for_order";
return base.RequestContext.ToOptimizedResultUsingCache(this.CacheClient, cacheKey,() =>
{
//This delegate will be executed if the cache doesn't have an item
//with the provided key
//Return here your response DTO
//It will be cached automatically
});
}
したがって、この研究の後、私はあなたの意見、あなたがアプリのいずれかでのキャッシングのこの種を実装しているかどうかを知りたいのです。あなたは経験を共有していただけますか?
ありがとうございます!