Я не эксперт по Django, поэтому этот ответ, как правило, касается магазинов сессий. Даунвот, если я не прав.
Производительность и масштабируемость
Выбор хранилища сеансов влияет на производительность и масштабируемость. Это должно быть большой проблемой, только если у вас очень популярное приложение.
Как базы данных, так и хранилища сессий файловой системы (обычно) поддерживаются дисками, так что вы можете иметь много сеансов дешево (потому что диски дешевые), но запросам часто приходится ждать, пока данные будут прочитаны (поскольку диски медленные ). Сеансы Memcached используют оперативную память, поэтому для поддержки того же количества одновременных сессий (потому что оперативная память является дорогой) будет стоить больше, но может быть быстрее (потому что оперативная память быстрая).
Сеансы файловой системы привязаны к блоку, в котором работает ваше приложение, поэтому вы не можете балансировать нагрузку между несколькими серверами приложений, если ваш сайт становится огромным. Сеансы базы данных и memcached позволяют иметь несколько серверов приложений, общающихся с общим хранилищем сеансов.
Простота
Выбор хранилища сеансов также влияет на простоту развертывания вашего сайта. Переход от значения по умолчанию будет стоить некоторой сложности. У Memcached и RDBMS есть свои сложности, но ваше приложение, вероятно, все равно будет использовать RDBMS.
Если у вас нет очень популярного приложения, простота должна быть большей проблемой.
Бонус
Другой подход заключается в хранении данных сеанса в файлах cookie (все это, а не только идентификатор). Преимущество заключается в том, что хранилище сеансов автоматически масштабируется в зависимости от количества пользователей, но также имеет свои недостатки. Вы (или ваша структура) должны быть осторожны, чтобы пользователи не подделывали данные сеанса. Вам также необходимо поддерживать небольшой размер каждого сеанса, поскольку все это будет отправляться при каждом запросе.