Redis и django

#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 может быть обоими

  1. В качестве основной базы данных
  2. Кэш

Django официально поддерживает базы данных MYSQL и Postgres, поскольку использует ORM (Object Relational Mapper).

Таким образом, вы можете использовать MYSQL или Postgres в качестве основной базы данных и Redis для кэширования ваших наиболее часто используемых моделей с использованием хэширования в Redis.

Redis — это, по сути, хранилище ключей-значений в памяти, если произошел какой-либо сбой, ваши данные будут потеряны.

Но Redis также поддерживает сохранение, вы можете проверить это.

Сохраняемость Redis официальный документ


Рекомендации

Я рекомендую использовать MySQL / Postgres в качестве основной базы данных для Django, чтобы воспользоваться преимуществами ORM и Redis / memcached для кэширования.