Idle Redis connections eventually begin to hang, high Redis latency

When this happens, it’s almost always a connection timing out because its idle. Drivers have various ways of dealing with this, they basically need to PING Redis occasionally and recreate the connection if it idles out.

The aioredis docs are vague, but it seems like using a connection pool might make reconnects work:

redis = await aioredis.create_redis_pool('redis://localhost')

You are going to be better off running dedicated Redis instances on Fly than using the shared redis. Since it connects to multitenant instances through our load balancer, drivers have to be especially good to handle “normal” connection disruptions. Dedicated Redis instances let you connect directly over the private network and keep things simpler.