我们有一个每秒向 Redis 缓存发出大约 5000 个请求的系统。我们一直在寻找在这种情况下使用 ServicStack.Redis 客户端的最佳实践。
我们的大多数调用都是针对使用 Typed 客户端的 HashSet 的:
RedisClient redisInstance = new RedisClient();
var redisTypedClient = redisInstance.As < CustomObject > ();
var data = redisTypedClient.GetValueFromHash(redisTypedClient.GetHash("hset:SetId"), recordId);
最初我们将“redisInstance”作为静态对象,它对少数请求运行良好,但一旦请求数量增加,它开始抛出以下异常:ServiceStack.Redis.RedisResponseException: Unexpected reply
我们将“redisInstance”更改为本地对象,它开始正常工作。
对于我们是否以正确的方式使用它,我们仍然有些困惑。所以我的问题是:我们使用正确吗?PooledRedisClientManager 比这更好吗?还有其他方法吗?
我们有大约 10 或 15 个不同类型的 redis 哈希集,我们非常频繁地为每个用户查询这些哈希集。
寻找一些好的建议。