Storage Backends

In-Memory

The in-memory storage (freiner.storage.memory.MemoryStorage).

Redis

Requires the location of the redis server and optionally the database number. redis://localhost:6379 or redis://localhost:6379/N (for database N).

If the redis server is listening over a unix domain socket you can use unix:///path/to/sock or unix:///path/to/socket?db=N (for database N).

If the database is password protected the password can be provided in the url, for example redis://:foobared@localhost:6379 or unix//:foobered/path/to/socket if using a Unix domain socket (UDS).

Depends on: redis-py

Redis over SSL

Redis does not support SSL natively, but it is recommended to use stunnel to provide SSL suport. The official Redis client redis-py supports redis connections over SSL with the scheme rediss. rediss://localhost:6379/0 just like the normal redis connection, just with the new scheme.

Depends on: redis-py

Redis with Sentinel

Requires the location(s) of the redis sentinal instances and the service-name that is monitored by the sentinels. redis+sentinel://localhost:26379/my-redis-service or redis+sentinel://localhost:26379,localhost:26380/my-redis-service.

If the database is password protected the password can be provided in the url, for example redis+sentinel://:sekret@localhost:26379/my-redis-service

Depends on: redis-py

Redis Cluster

The Redis Cluster storage backend is currently provided on a best-effort basis, and is currently not covered by tests. Patches are welcome.

Requires the location(s) of the redis cluster startup nodes (One is enough). redis+cluster://localhost:7000 or redis+cluster://localhost:7000,localhost:70001

Depends on: redis-py-cluster

Memcached

Requires the location of the memcached server(s). As such the parameters is a comma separated list of {host}:{port} locations such as memcached://localhost:11211 or memcached://localhost:11211,localhost:11212,192.168.1.1:11211 etc… or a path to a unix domain socket such as memcached:///var/tmp/path/to/sock

Depends on: pymemcache