当前位置: 首页 > 面试题库 >

ASP.net MVC中的Azure Redis StackExchange.Redis ConnectionMultiplexer

葛烨
2023-03-14
问题内容

我已经读过,为了连接到Azure Redis缓存,最好遵循以下做法:

private static ConnectionMultiplexer Connection { get { return LazyConnection.Value; } }

    private static readonly Lazy<ConnectionMultiplexer> LazyConnection =
        new Lazy<ConnectionMultiplexer>(
            () =>
            {
                return
                    ConnectionMultiplexer.Connect(connStinrg);
            });

根据Azure Redis文档:

与Azure
Redis缓存的连接由ConnectionMultiplexer类管理。此类设计为在整个客户端应用程序中共享和重用,并且不需要在每个操作的基础上创建。

那么,在我的ASP.net
MVC应用程序之间共享ConnectionMultiplexer的最佳实践是什么?应该在Global.asax中调用它,还是每个Controller或smth将其初始化一次。还有吗?

另外,我还具有用于与应用程序通信的服务,因此,如果要在服务内部与Redis进行通信,应该将ConnectionMultiplexer的实例发送至Controllers的服务,还是应该在所有服务中对其进行初始化,或者?

如您所见,我在这里有些迷路,请帮助!


问题答案:

该文档是正确的,因为您应该只有一个ConnectionMultiplexer实例并可以重用它。不要创建多个,建议将其共享和重用。

现在,对于创建部分,它不应位于Controller或Global.asax中。通常,您应该拥有自己的RedisCacheClient类(可能实现某些ICache接口),该类在内部使用ConnectionMultiplexer私有静态实例,并且在此位置创建代码-
正是您在问题中所写的。在懒惰的部分将推迟ConnectionMultiplexer的创建使用它的第一次,直到。



 类似资料:
  • 我在时区面临一个问题。现在我正在从客户端保存时区,并将所有日期时间存储在UTC中。它工作正常,但当我试图将UTC的日期时间转换为CST、EST、EDT等时区后,它会显示错误的数据。 问题-假设我在美国东部夏令时晚上10点做了任何任务,并且它将在凌晨2点(按照UTC)保存在DB中,但当我尝试获取一天的数据并通过当前UTC日期时。 我的问题是,如果我试图获取一天的数据,比如从美国东部时间午夜11点到当

  • 您好,我有一个按钮,当我单击它时,此函数称为: 这里是CreateQrLink函数 这是我想通过点击下载QrCode按钮从这个视图下载图像的视图,我如何实现它?我不在数据库中保存QrLink我应该保存它还是其他什么?我想从src=Model获取照片。QrUrl

  • 问题内容: 我在Internet Explorer中的页面出现问题。我有一个Ajax调用,在其他浏览器中,当我单击该链接时,该调用会传递到控制器中并正确加载数据。但是在IE中,一次加载后,它消失了,而我却没有通过控制器就获得了相同的旧结果。 问题答案: 尝试: 放置在控制器类中的此属性禁用缓存。由于不需要在应用程序中缓存,因此将其放置在BaseController类中: 这是有关OutputCac

  • 我需要调用这个API在我的控制器得到它的数据。 这是我的控制器 以下是XML响应的外观:

  • 正在尝试使用asp。net和mvc。 我有一个像这样的< code>Weather类: 我用来发出< code>GET请求的方法如下所示: 我请求的 URI 返回 JSON 对象。 我想访问< code >“Weather”对象,提取属性< code>main和< code>description,并在我的< code>GetWeather中返回一个列表,其中< code>JSON对象的天气属性与

  • 如何加密列产品ID在Kendo ui网格用户看不到我的真实ID?我使用ASP. NET MVC 5。 谢谢你!

  • 我正在尝试处理错误并为404,403等显示适当的页面。 为此,我制作了一个错误处理过滤器,它可以像预期的那样工作。也就是说,当我试图要求 mysite.com/Home/random_non-existent_action 用户被重定向到我的自定义404页面,并作为响应代码返回404。这同样适用于401和403。 我已经通过错误处理过滤器和在web上进行的修改实现了这一点。配置为: 这就是问题开始

  • 我想构建一个剑道UI网格,格式为dd//MM/yyyy。然而,我发现的所有问题都是用代码格式(“{0:d}”);解决的;。因此,我尝试了以下代码: 另一种格式很好用,只是DateTime不起作用。 我有这个结果为Datetime= /Date(1377020142000)/