asp.net - 将 SessionStateProvidor 切换到 Redis 会使我的网络应用程序非常非常慢

标签 asp.net asp.net-mvc session redis session-state

我的 ASP.NET MVC 应用程序中有一个 session 包装类,用于在 session 中存储常用数据(如当前用户信息、供应商信息等)。 session 运行 InProc。一切都很完美,但我知道在 InProc 模式下进行 session 是一个糟糕的设计,因为它不可扩展并且与应用程序池紧密耦合。我不想使用 Sql Server 来管理 session ,因为它似乎是最后的手段,因为速度对我们来说是第一要务。所以在做了一些研究之后,Redis DB 似乎是这里最快的选择(与 MongoDB、RavenDB 等相比)。我使用了这个提供商 https://github.com/TheCloudlessSky/Harbour.RedisSessionStateStore .按照说明实现后,它起作用了。但现在我的网站偶尔会变慢,页面有时(可能是 30% 的时间)加载速度非常非常慢。只要我将它切换回 InProc 模式,它就可以正常运行。我想知道是我安装的 Redis 不正确还是我必须做一些技巧才能让它顺利运行。谁能帮忙?如果您需要一些代码,我可以提供,但它与 https://github.com/TheCloudlessSky/Harbour.RedisSessionStateStore 几乎相同。样本。 CPU 和内存似乎很低且稳定....

最佳答案

Redis 提供程序 Nuget 包存在问题。联系包所有者并发布了新版本,似乎工作正常。

关于asp.net - 将 SessionStateProvidor 切换到 Redis 会使我的网络应用程序非常非常慢,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21806259/

相关文章:

c# - 如何通过iframe获取另一个页面的asp隐藏字段值

母版页和内容占位符中的 Javascript 验证

c# - mvc角色和权限需要设计指导

asp.net-mvc - SyntaxError : JSON. 解析:对象中的属性值后预期为 ',' 或 '}'

session - Tomcat 处理 JRuby/Rails 应用程序上的 session

java - springMVC中的Httpsession管理

c# - 如何在根节点 [TreeView] 找到子节点

c# - 删除字符串中的非数字字符

c# - LINQ 查询 C# ASP

xcode - Swift 中的 session