由于redis是单线程的,因此调用类似下面的调用将会阻塞,直到它返回:
redis.hgetall("some_key")
现在说我要把所有的电话都包裹在Futures中,例如,如果我必须同时拨打100K这些类型的电话:
Future.sequence(redis_calls)
在这方面做这样的事情有帮助吗?或者是故障跟踪还是如果呼叫得到备份可能会导致问题?
答案 0 :(得分:1)
你会发现最慢的部分是向Redis发送命令并再次读取结果,而不是等待Redis执行请求。
为避免这种情况,您可以使用pipelines一次发送一堆命令并将结果重新接收。