Skip to content

Remove idle connections periodically #2992

Open
@isbee

Description

@isbee

Related issue: #445

If application executed lot's of concurrent commands due to peak traffic, redis-py creates lot's of connections with upperbound max_connections. The problem is these massive connections are not reaped off by redis-py even though peak traffic is gone.

Currently we can leverage redis node's timeout, so a socket is closed on the server side if it is idle and the client can notice this and close this socket gracefully. But I think this is very low level and tricky because someone can forget or misconfigure timeout on redis, but the impact will be huge if peak traffic occurs.

It'll be better that redis-py support max_idle, min_idle like other redis client(e.g. Lettuce, Jedis, go-redis, ...). So developer can notice this, configure as they needed, reap idle connections automatically by redis-py.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions