gevent.joinall([gevent.spawn(call_get, get_client_for_key(key), key) for key in keys])
gevent uses epoll/kqueue in the background as well; as far as I know, no threads are spawned or locked. Is there some kind of fancy scheduling going on in rb?
We are not using gevent anywhere and we can't really because of it not working well for the majority of our work. The redis pyrhon library only works with gevent if you monkey patch everything and that would be very problematic for us.
Lastly that does not support pipelining still, something that rb does for you n
Futures as a concept compared to Promises as a concept? I think the difference is largely naming though i assume one implies being read only from the outside? The promise API just mirrors ES6 so that it's familiar.
If you have any questions about the library or the whole problem in general feel free to shoot questions my way.