gpt4 book ai didi

asp.net - InProc 与 Redis (Asp.Net MVC 5) 中的 session 存储,考虑到可扩展性

转载 作者:可可西里 更新时间:2023-11-01 11:16:51 24 4
gpt4 key购买 nike

我无法决定是使用 InProc 还是 Redis 在高性能 Web 应用程序中存储用户 session + 一些额外数据(用户名、电子邮件...等)

那么两者各有什么优缺点呢?因为 Redis 选项具有使用 HTTP 连接的缺点——网络延迟和消耗 HTTP 使用的 TCP 连接。

此外,InProc 是否会在适当的位置或在不同的服务器上(使用负载平衡)使用多个 IIS worker 来保持应用程序的 future

注意:如果我使用 Redis,我会通过自定义操作属性将 session 状态注入(inject) Controller 中的属性。

最佳答案

在网络场场景中,请求可以转到网络场中的任何工作进程。如果对同一 session 的不同请求由不同的工作进程提供服务,则在这种情况下使用进程内 session 状态存储可能会导致数据丢失。但是,如果只使用单个 Web 服务器,进程内 session 状态提供程序应该是最快的,因为没有额外的网络延迟。

Redis 用作分布式缓存,Redis session 状态提供程序适用于网络场场景,因为网络场中的所有不同工作进程都将与单个 Redis 实例进行通信。将 Redis 实例物理地放置在靠近网络场实例的位置有助于在某种程度上减少延迟。

关于asp.net - InProc 与 Redis (Asp.Net MVC 5) 中的 session 存储,考虑到可扩展性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46196018/

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