Redis-Sentinel-Url provides parser and connection factory for redis:// and redis+sentinel:// URLs (the latter being defined by this package).
- Supports Python 2.7 and 3.3+
- Licensed using Apache License 2.0
Install with pip:
pip install Redis-Sentinel-Url
This package defines redis+sentinel:// scheme for connecting to Redis via Sentinel:
redis+sentinel://[:password@]host:port[,host2:port2,...][/service_name[/db]][?param1=value1[¶m2=value=2&...]]
- You can specify multiple sentinel host:port pairs separated by comma.
- If service_name is provided, it is used to create a default client
- service_name and db can also be specified as URL parameters (URL parameters take precedence)
- Client options (keyword arguments to redis.StrictRedis) are specified as URL parameters
- Options for connecting to Sentinel (keyword arguments to redis.sentinel.Sentinel) are specified with sentinel_ prefix
- There is special client_type option to specify whether the default client should be master (the default) or slave service when connecting via Sentinel
Supports schemes supported by redis.StrictRedis.from_url and also redis+sentinel:// scheme described above:
import redis_sentinel_url
sentinel, client = redis_sentinel_url.connect('redis://localhost/0')
# None, StrictRedis(...)
sentinel, client = redis_sentinel_url.connect('rediss://localhost/0')
# None, StrictRedis(...)
sentinel, client = redis_sentinel_url.connect('unix://[:password]@/path/to/socket.sock?db=0')
# None, StrictRedis(...)
sentinel, client = redis_sentinel_url.connect('redis+sentinel://localhost:26379,otherhost:26479/mymaster/0')
# Sentinel(...), StrictRedis(...)