I haven’t benchmarked this in any way comparing how a threaded client would perform comparing to this or not. The point is that the redis client functions are suspendable, allowing you to use them in other contexts where you want to use coroutines. Redis is probably mostly waiting for network I/O both on the client and server side.