C# - 创建 Redis 连接池的最佳方式?

问题描述

为了提高应用程序性能,考虑尝试创建 redis 连接池来分担负载,而不是按照 Redis 团队的建议轮换单个相同的 redis 连接来满足所有传入的请求{{3} }

使用 C# 为相同的 Redis 服务器配置创建 StackExchange.Redis 连接池的最佳方法是什么,并不断从池中轮换一个连接来满足传入请求?

是否有任何 SDK/nuget 包可用于创建 Redis 连接池?

目前我们通过单例类重用使用 Lazy 模式创建的单个 ConnectionMultiplexer,它将在第一个请求时启动单个 redis 连接对象,并将在整个应用程序生命周期中重用。

P.S:线程安全可以忽略,因为连接池中的所有实例都使用相同的 Redis 服务器配置。

解决方法

有一个库,我在两年前就完全满足了这个要求。它是线程安全的,它懒惰地创建连接池。 此外,您可以使用连接选择策略的内置实现,例如循环和基于负载。 NuGet 是 https://www.nuget.org/packages/StackExchange.Redis.MultiplexerPool/ 您可以在此处查看示例 https://github.com/mataness/StackExchange.Redis.MultiplexerPool/blob/master/samples/RedisConnectionPoolConsoleApp/Program.cs

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...