取决于您的服务器内存以及您对它的关注程度。数据库总是适合这种类型的事情,因为您有更好的并发性和更稳定的方法来存储数据。
我的建议是对缓存的数据使用滑动过期时间,比如 10-20 分钟左右。这样,您将不会消耗太多服务器资源,因为随着用户变得不活跃,他们的会话数据将被驱逐。
有关如何进行滑动过期缓存的示例(也参考此处),您可以这样做:
public static void AddToCache(string key, Object value, int slidingMinutesToExpire)
{
if (slidingMinutesToExpire == 0)
{
HttpRuntime.Cache.Insert(key, value, null, System.Web.Caching.Cache.NoAbsoluteExpiration, System.Web.Caching.Cache.NoSlidingExpiration, System.Web.Caching.CacheItemPriority.NotRemovable, null);
}
else
{
HttpRuntime.Cache.Insert(key, value, null, System.Web.Caching.Cache.NoAbsoluteExpiration, TimeSpan.FromMinutes(slidingMinutesToExpire), System.Web.Caching.CacheItemPriority.NotRemovable, null);
}
}