gpt4 book ai didi

redis - 将 ServiceStack.Redis 与 RedisCloud 结合使用

转载 作者:IT王子 更新时间:2023-10-29 06:15:44 26 4
gpt4 key购买 nike

使用 RedisCloud作为 ServiceStack 的数据存储基于 AppHarbor托管应用。

RedisCloud .net client documentation声明使用ServiceStack.Redis连接管理器:

Note: the ServiceStack.Redis client connection managers (BasicRedisClientManager and PooledRedisClientManager) should be disabled when working with the Garantia Data Redis Cloud. Use the single DNS provided upon DB creation to access your Redis DB. The Garantia Data Redis Cloud distributes your dataset across multiple shards and efficiently balances the load between these shards.

他们为什么会这样建议?因为他们在他们的“Garantia 数据”层做花哨的负载平衡,不想处理不必要的连接? RedisClient 类不是线程安全的,因此从应用程序编程的角度来看,它变得更加困难。

我应该忽略他们的指示并使用 PooledRedisClientManager 吗?我如何使用 RedisCloud 提供的单个 uri 对其进行配置?

或者我是否需要编写一个基本的 RedisClient 池包装器,它只根据需要创建新的 RedisClient 连接来处理并发访问(即忽略所有读/写池细节,希望将所有上游委托(delegate)给 RedisCloud 层)?

最佳答案

他们为什么会这样建议?因为他们在他们的“Garantia 数据”层中做一些花哨的负载平衡工作并且不想处理不必要的连接?
我想你可能是对的。据我所知,这些类只是简单地包装了 RedisClient 的创建/检索实例(不过,我认为 Basic 总是创建一个新的 RedisClient)。当我查看their site ,我没有看到任何关于“与 Redis 服务器的最大连接数”的信息。来自 AppHarbor (MyRedis) 的先前 Redis 供应商的计划列出了每个计划允许的最大连接数。但是,我在网站上也没有看到任何提及连接限制/处理的内容。

我应该忽略他们的指示并使用 PooledRedisClientManager 吗?我如何使用 RedisCloud 提供的单个 uri 对其进行配置?
好吧,如果您确实忽略了他们的说明,我猜您最终可能会遇到“超出最大连接数”错误。这将使访问您的 Redis 服务器变得困难。我认为您仍然可以使用 BasicRedisClientManager,因为当您调用 GetClient() 时,它总是以与示例中所示相同的方式“更新”一个 RedisClient。

关于redis - 将 ServiceStack.Redis 与 RedisCloud 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17768811/

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