C#mvc4长时间保存服务器缓存的最佳方法?

时间:2016-11-03 08:28:54

标签: c# asp.net-mvc-4 caching server

我使用C#mvc4和EF5.0 在我的数据库中,我有一个名为"设置"包含所有用户的应用程序设置。 设置每月只更改一次,但我使用控制器中几乎每个操作的设置。 目前我为我的控制器创建了承包商,检查是否" HttpContext.Current.Application ["设置"]"为null,如果为null,则从DB加载它。

我的问题是,每次获取此数据而不是从数据库获取数据的最佳方法是什么? 我不在乎每个月回收一次IIS ......

由于

1 个答案:

答案 0 :(得分:0)

如果只是设置,您只需将其保存在内存中

即可
Settings settings = new Settings();
public DateTime LastUpdated {get;set;}
public Settings  GetSettings()
    {
        if (settings  == null || LastUpdated.AddMonths(1) <= DateTime.Now)
        {
            settings = // DB.GetSettings();
            LastUpdated = DateTime.Now;
        }

        return settings;
    }

这会将设置保留在内存中,并每月或重置IIS或更新项目时再次加载。

当然如果您需要更大的东西,可以使用像(Redis或mongoDB)这样的无法使用的工具作为缓存层。

希望帮助