C# 我需要在我的mvc项目中缓存数据。什么';这是正确的方法吗?

C# 我需要在我的mvc项目中缓存数据。什么';这是正确的方法吗?,c#,asp.net-mvc,design-patterns,architecture,singleton,C#,Asp.net Mvc,Design Patterns,Architecture,Singleton,我有一个mvc项目。我们必须为每个用户收集一些数据。我创建了一些单例类来缓存数据,以实现更好的责任。 有些人在项目中避免使用单例类。 我想知道你是否更喜欢这个,如果不喜欢,你的替代品是什么???我看不出你不应该在你的单例中缓存数据的原因。我还使用这种缓存方式,以大大减少数据库调用的数量。只要确保缓存保持最新即可 我不知道您的项目及其环境,但在我的例子中,数据库中的数据从另一个应用程序更改时会出现这种情况。我实现了一个数据库触发器来解决这个问题。你应该考虑在你的情况下做同样的事情,所以当你的一些本

我有一个mvc项目。我们必须为每个用户收集一些数据。我创建了一些单例类来缓存数据,以实现更好的责任。 有些人在项目中避免使用单例类。
我想知道你是否更喜欢这个,如果不喜欢,你的替代品是什么???

我看不出你不应该在你的单例中缓存数据的原因。我还使用这种缓存方式,以大大减少数据库调用的数量。只要确保缓存保持最新即可

我不知道您的项目及其环境,但在我的例子中,数据库中的数据从另一个应用程序更改时会出现这种情况。我实现了一个数据库触发器来解决这个问题。你应该考虑在你的情况下做同样的事情,所以当你的一些本地缓存的数据在数据库中发生变化时,你会得到通知并可以更新缓存。
我想我不必提及这一点,但缓存通常只对相对静态的数据有意义,这些数据不会经常更改。

99%的正确方法不是重新发明轮子。如果您对
System.Web.Caching.Cache
不满意,可以使用
System.Runtime.Caching.MemoryCache
每个用户的实例。

阅读此处: