gpt4 book ai didi

c# - ASP.NET MVC 访问缓存和 session 的区别

转载 作者:行者123 更新时间:2023-11-30 20:39:59 25 4
gpt4 key购买 nike

我正在编写一个 ASP.NET MVC5 应用程序,我知道 session["foo"] = bar 的操作是按顺序运行的,现在为了避免这种情况,我想存储一些信息进入 MemoryCache 对象而不是在 session 中,但我的疑问是:缓存是否像 session 一样管理?因此,我放置 ObjectCache.Set("foo", bar, null) 的操作会像 session 一样按顺序运行吗?我知道缓存和 session 之间的范围差异,但对我来说,在这种情况下,这并不重要。

感谢大家

最佳答案

我了解到您试图避免页面上的 session 锁定。

缓存并没有锁定整个页面的访问,所以答案是缓存没有按顺序运行。

有两种缓存,一种是在内存中使用静态字典来保存数据,另一种是保存在数据库中的缓存,即使用文件来保存数据。它们都仅在读/写期间锁定数据,而 session 从开始到结束都锁定页面上的全部访问权限

所以使用缓存,但在出现此问题的页面上关闭 session 。还要记住,如果您使用网络花园,那么内存缓存可以有多个不同的数据,因为内存缓存在每个池上都有自己的静态空间。

每个用户的 session 也不同,缓存对所有用户都是相同的。

更多阅读:ASP.NET Server does not process pages asynchronously

关于c# - ASP.NET MVC 访问缓存和 session 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33825368/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com