相关疑难解决方法(0)

大型asp.net缓存存储的持久性方法的效率

好奇,如果有人对哪种方法更适合asp.net缓存有意见.选项一,缓存中较少的项目较复杂,或许多项目较不复杂.

为了便于讨论,我们假设我的网站有SalesPerson和Customer对象.这些是非常简单的类,但我不想对数据库很讨厌,所以我想懒得将它们加载到缓存中,并在我做出更改时将它们从缓存中失效 - 这很简单.

选项1创建字典并缓存整个字典.当我需要从缓存中加载SalesPerson的一个实例时,我得到了Dictionary并对Dictionary进行了正常的键查找.

选项2在每个项目的键前面加上它,并将其直接存储在asp.net缓存中.例如,缓存中的每个SalesPerson实例都将使用前缀加上该对象的键的组合,因此它可能看起来像sp_ [guid]并存储在asp.net缓存中,而且还存储在缓存中的Customer对象中.像cust_ [guid]这样的关键.

我对选项二的恐惧之一是条目数量会变得非常大,在SalesPerson,Customer和十几个其他类别之间我可能在缓存中有25K项目和高度重复查找类似于我正在使用的字符串资源在几个地方可能会支付罚款,而代码通过缓存的密钥集合查找它在其他25K之间找到它.

我确信在某些时候,在缓存中存储太多项目的回报正在减少,但我对这些问题的意见感到好奇.

c# asp.net caching

6
推荐指数
1
解决办法
2485
查看次数

标签 统计

asp.net ×1

c# ×1

caching ×1