为了账号安全,请及时绑定邮箱和手机立即绑定

缓存与会话的优势

缓存与会话的优势

呼啦一阵风 2019-11-29 09:29:08
在会话和缓存中存储数据表有什么区别?优点和缺点是什么?因此,如果它是一个简单的搜索页面,它会在数据表中返回结果并将其绑定到gridview。如果用户'a'搜索和用户'b'搜索,最好将其存储在Session中,因为每个用户很可能会有不同的结果,或者我是否仍可以将他们的每个搜索存储在Cache中,或者没有意义,因为存在只有一个缓存。我想基本上我想说的是缓存将被覆盖。
查看完整描述

3 回答

?
杨__羊羊

TA贡献1943条经验 获得超7个赞

AFAIK,主要区别在于会话是每个用户,而缓存将用于应用程序范围的项目。


如在其他答案中所述,您可以将每个用户的信息存储在缓存中,只要您提供密钥(通过会话或cookie)即可。然后,您将有更多控制权来使缓存中的项目过期,并对其设置依赖关系。因此,如果所讨论的DataTable会定期更改,则缓存可能是一个适当的选择。否则,如果是静态会话,则可能更合适。史蒂文·史密斯(Steven Smith)有一个关于dnrtv缓存的出色视频,值得一看。


这实际上取决于您要实现的目标,获得的时间。关于在应用程序中存储状态的方式,还有其他一些可供考虑的选择。根据表的大小,您可以考虑将状态存储在cookie中(如果是敏感信息,则将其加密)。或者,如果它是应用程序范围的数据,则在页面或类上冷使用静态字段。也有Application对象。


更新:我认为您必须问自己的关键问题是谁应该看到此数据。


Are they going to access the data frequently?  

(不,不要打扰)。


Is it going to change?  

(否,请使用静态字段或应用程序)。


Is it acceptable for user a and user b to see the same results?  

(不,将缓存与包含用户名和搜索词的键一起使用。)。

(是的,请使用搜索词的键来使用缓存)。


不过,老实说,如果您的开发进度不理想,我会考虑将缓存/状态问题推迟到以后的日期-您甚至可能不需要它。


性能调整的前三个规则是:1.测量,2.测量更多。3.再次测量...


查看完整回答
反对 回复 2019-11-29
  • 3 回答
  • 0 关注
  • 401 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信