首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C# ASP.NET -需要搜索/排序的对象的缓存列表?

C# ASP.NET -需要搜索/排序的对象的缓存列表?
EN

Stack Overflow用户
提问于 2009-10-01 06:47:40
回答 1查看 1.4K关注 0票数 1

我有一个Order对象列表。

这些对象在我的应用程序的多个用户之间共享,并且在经常访问时很少更改,这使它们成为缓存的理想选择。

我面临的问题是,我对我的MSSQL db有LINQ查询,它执行排序和搜索,但是如果我将它们保存在缓存中,我该如何做呢?我不想重复代码(干!)。

EN

回答 1

Stack Overflow用户

发布于 2009-10-01 07:00:50

在我看来,你必须这样做

  • 有一个通用方法,用于将对象加载到内存中,并将它们缓存为列表/字典。在单例BL类
  • 中,您需要对BL类中的缓存对象集合进行排序/搜索的Linq查询,而不是直接转到MySQL DB.

因此,在完成第一个调用的情况下,您的缓存集合将被查询,但是由于它仍然是空的,所以您可以去获取所有对象(当然,这取决于数据量),然后,一旦数据在内存中,LINQ查询就会在其上执行。

随后的调用不会击中DB,而只会访问缓存的集合。

您必须注意访问您的集合线程安全。此外,您可能包括一些刷新间隔,基本上是基于时间戳,您在一定的时间间隔内刷新您的缓存。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1502278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档