在内存中缓存查找表的最佳方法



我有几百个查找表,我想缓存在内存中。我已经将它们拖放到 Linq to sql 实体映射器上。我想一定有一种更好的(通用)方法来读取内存中的数据,而不是使用"HttpContext.Current.Cache"对象加载每个单独的表。
所有查找表都以"L_"开头,后跟内容类型的名称。

任何评论将不胜感激。

最好

10 GB 的数据太多,无法缓存。

用。NET(可能是System.Cache命名空间)自己的缓存。如果您曾经为移动应用程序等编写 Web API,您将能够重用您的缓存代码。

ASP.NET 缓存使用弱链接,每当需要内存时,您偶尔使用的缓存项将被删除。

如果需要分布式缓存或需要缓存持久性,请使用 Redis。

将 Sql Server 自己的内存中表与存储过程一起使用比使用实体框架(但不是 Redis)更好。

像这样编写服务层代码(此代码也可以与您的 Web API 重用)

private IList<TableName> GetAll()
{
    //find in cache and return  
    //load data if upper step doesn't find data in cache 
    // store data in cache for this specific lookup 
    // return data 
} 

我希望这会有所帮助。

相关内容

最新更新