如何解决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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。