使用RedisCloud作为基于ServiceStack的AppHarbor托管应用程序的数据存储。
RedisCloud .net 客户端文档声明不使用ServiceStack.Redis连接管理器:
注意:使用 Garantia Data Redis Cloud 时,应禁用 ServiceStack.Redis 客户端连接管理器(BasicRedisClientManager 和 PooledRedisClientManager)。使用创建数据库时提供的单一 DNS 访问您的 Redis 数据库。Garantia Data Redis Cloud 将您的数据集分布在多个分片上,并有效地平衡这些分片之间的负载。
他们为什么会这样建议?因为他们在他们的“Garantia Data”层中进行了精美的负载平衡,并且不想处理不必要的连接?该类RedisClient
不是线程安全的,因此从应用程序编程的角度来看,它变得更加困难。
我应该忽略他们的指示并使用 aPooledRedisClientManager
吗?如何使用 RedisCloud 提供的单个 uri 配置它?
或者我是否需要编写一个基本的RedisClient
池包装器,它只是RedisClient
根据需要创建新的连接来处理并发访问(即忽略所有读/写池细节,希望将所有上游委托给 RedisCloud 层)?