加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 缓存最佳实践 – 单个对象或多个条目?

发布时间:2020-12-15 04:02:22 所属栏目:百科 来源:网络整理
导读:有人在C#ASP.net应用程序中缓存数据时有什么方法更好吗? 我目前正在使用两种方法的组合,将一些数据(列表,字典,通常的特定于域的信息)直接放入缓存并在需要时装箱,并将一些数据保存在全局数据类中,并通过该数据进行检索类(即GlobalData类被缓存,它的属性是实
有人在C#ASP.net应用程序中缓存数据时有什么方法更好吗?

我目前正在使用两种方法的组合,将一些数据(列表,字典,通常的特定于域的信息)直接放入缓存并在需要时装箱,并将一些数据保存在全局数据类中,并通过该数据进行检索类(即GlobalData类被缓存,它的属性是实际的数据).

两种方法是否可取?

我感觉到,从并行的角度来看,分别对每个项目进行缓存将会更加明智,但从长远来看,它创造了更多的工作,其中更多的功能纯粹涉及从Utility类中的缓存位置获取数据.

建议不胜感激

解决方法

Ed,我认为这些列表和词典包含几乎具有低到期机会的静态数据.那么有些数据会频繁点击,但也会更频繁地更改,所以您使用HttpRuntime缓存来缓存它.

现在,您应该考虑所有数据和不同类型之间的所有依赖关系.如果您在逻辑上发现HttpRuntime缓存的数据在某种程度上取决于您的GlobalData项目,则应将其移动到缓存中,并在其中设置适当的依赖关系,以便您可以受益于“级联过期”.

即使您使用自定义缓存机制,您仍然必须提供所有的同步功能,因此您不会通过避免其他方式来保存.

如果您需要(预先排列的)具有非常低频率更改的项目列表,那么您仍然可以使用HttpRuntime缓存来执行此操作.所以你可以只是缓存一个字典,并使用它来列出你的项目或索引和访问您的自定义键.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读