Allow repeated commands to same connection in pool
Motivation:
Some Redis commands are very connection specific that have impacts on future access that makes it difficult in the current
checkout-use-return cycle that RedisConnectionPool
uses.
Developers need a way to borrow a specific connection, chain several commands together, and then return the connection to the pool.
Modifications:
- Add:
leaseConnection
method toRedisConnectionPool
which provides a connection from the pool and returns it after a provided closure's ELF resolves - Add:
allowSubscriptions
property toRedisConnection
for controlling the ability to make PubSub subscriptions - Add:
RedisClientError.pubsubNotAllowed
case for whenRedisConnection.allowSubscriptions
is set tofalse
and a subscription was still attempted
Result:
Developers should now have an "escape hatch" with RedisConnectionPool
to do limited exclusive chains of operations on a specific connection.