猿问

缓存与会话的优势

在会话和缓存中存储数据表有什么区别?优点和缺点是什么?

因此,如果它是一个简单的搜索页面,它会在数据表中返回结果并将其绑定到gridview。如果用户'a'搜索和用户'b'搜索,最好将其存储在Session中,因为每个用户很可能会有不同的结果,或者我是否仍可以将他们的每个搜索存储在Cache中,或者没有意义,因为存在只有一个缓存。我想基本上我想说的是缓存将被覆盖。


呼啦一阵风
浏览 402回答 3
3回答

杨__羊羊

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.再次测量...
随时随地看视频慕课网APP
我要回答