Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
42 lines (28 sloc) 1.37 KB

Storage Backends

With version 1.0, the concept of Storage Backend was introduced to let developers choose how messages are persisted. Django Stored Messages provides a pool of backends out of the box and developers can extend the app providing their own implementation of a Storage Backend.

STORAGE_BACKEND settings parameter contains a string representing the backend class to use. If not specified, it defaults to the default backend.

Here follows a list of supported backends.

Default backend: Django ORM

'STORAGE_BACKEND': 'stored_messages.backends.DefaultBackend'

This is the default backend, it stores messages on the configured database using plain old Django models; it doesn't need any additional configuration.

Redis backend

'STORAGE_BACKEND': 'stored_messages.backends.redis'

Users' inbox and archives are persisted on a Redis instance. Keys are in the form user:<userid>:notifications user:<userid>:archive and values are lists. This backend needs the REDIS_URL settings to be specified, for example:

STORED_MESSAGES={
    'REDIS_URL': 'redis://username:password@localhost:6379/0',
}

Implementing your own backend

Custom backends should derive from stored_messages.backends.base.StoredMessagesBackend class and implement all defined methods.