#python #django #database-design #django-models #redis
#python #django #проектирование базы данных #django-модели #redis
Вопрос:
Redis, похоже, является популярным выбором для кэширования в django, но является ли он также жизнеспособным вариантом для использования в качестве базы данных и для моих моделей django? Я рассматриваю возможность переноса большой системы категорий с MySQL на Redis, множество очень маленьких записей (просто name, parent_id и id) итак, хотя я довольно новичок в идее базы данных ключ-значение, это, кажется, имеет большой смысл?
Чем больше я ищу, не похоже, что есть возможность просто подключить серверную часть redis к django для синхронизации с моделями?
Ответ №1:
Официальный фреймворк Django работает только с СУБД. В вашем случае я бы рассмотрел такие проекты, как Django-nonrel. Они вели блоги о серверной части Redis.
Ответ №2:
Я опаздываю, но это может помочь другим.
Redis может быть обоими
- В качестве основной базы данных
- Кэш
Django официально поддерживает базы данных MYSQL и Postgres, поскольку использует ORM (Object Relational Mapper).
Таким образом, вы можете использовать MYSQL или Postgres в качестве основной базы данных и Redis для кэширования ваших наиболее часто используемых моделей с использованием хэширования в Redis.
Redis — это, по сути, хранилище ключей-значений в памяти, если произошел какой-либо сбой, ваши данные будут потеряны.
Но Redis также поддерживает сохранение, вы можете проверить это.
Сохраняемость Redis официальный документ
Рекомендации
Я рекомендую использовать MySQL / Postgres в качестве основной базы данных для Django, чтобы воспользоваться преимуществами ORM и Redis / memcached для кэширования.