-
Nathan Harris authored
Motivation: When `RedisConnection.allowSubscriptions` is set to `false`, the connection could still be in a subscription state leaving further commands to fail slowly from a full roundtrip to Redis, rather than succeeding as expected. This changes the implementation so that it triggers a full unsubscribe from patterns and channels when set to `false`. Modifications: - Change: `RedisConnection.allowSubscriptions` to call `unsubscribe()` and `punsubscribe()` when set to `false` - Change: `RedisPubSubHandler` to prefix storage of all dictionary keys to avoid name clashes between pattern and channel subscriptions Result: Developers should now have more deterministic and unsurprising behavior with PubSub in regards to subscription management and connection state.