Я слышал о Redis-cache, но как именно он работает? Используется ли он как слой между django и моими rdbms, каким-то образом кэшируя запросы rdbms?
Или его предполагается использовать непосредственно как базу данных? В чем я сомневаюсь, так как эта страница github не охватывает никаких данных для входа, никаких настроек ... просто говорит вам установить какое-то свойство конфигурации.
Тот факт, что Redis хранит вещи в памяти, не означает, что он предназначен для использования в качестве кеша. Я видел, как люди использовали его как постоянное хранилище данных.
То, что его можно использовать в качестве кеша, указывает на то, что он полезен как высокопроизводительное хранилище. Если ваша система Redis выйдет из строя, вы можете потерять данные, которые не были снова записаны на диск. Есть несколько способов уменьшить такие опасности, например, реплика с горячим резервированием. Если ваши данные критически важны, например, если вы управляете банком или магазином, Redis может быть не лучшим выбором для вас. Но если вы пишете игру с интенсивным трафиком с постоянными данными в реальном времени или некоторыми элементами социального взаимодействия и делаете вполне приемлемой вероятность потери данных, то стоит взглянуть на Redis.
В любом случае, суть остается в силе, да, Redis можно использовать в качестве базы данных.
источник
Redis - это, по сути, магазин KV «в памяти» с множеством наворотов. Он очень гибкий. Вы можете использовать его как временное хранилище, например кеш, или постоянное хранилище, например базу данных (с оговорками, упомянутыми в других ответах).
В сочетании с Django лучшим / наиболее распространенным вариантом использования Redis, вероятно, является кеширование «ответов» и сеансов.
Здесь есть бэкэнд https://github.com/sebleier/django-redis-cache/ и отличная документация в документах Django здесь: https://docs.djangoproject.com/en/1.3/topics/cache/ .
Недавно я начал использовать https://github.com/erussell/django-redis-status для мониторинга своего кеша - работает прелесть. (Настройте maxmemory в Redis, иначе результаты не будут очень полезными).
источник
Вы также можете использовать Redis в качестве очереди для распределенных задач в вашем приложении Django. Вы можете использовать его в качестве брокера сообщений для Celery или Python RQ .
источник
Redis как основная база данных
Да, вы можете использовать хранилище ключей и значений Redis в качестве первичной базы данных. Redis не только хранит пары ключ-значение, но также поддерживает различные структуры данных, такие как
Типы данных Redis Официальный документ
Redis находится в хранилище значений ключей в памяти, поэтому вы должны знать об этом, если произойдет сбой сервера Redis, ваши данные будут потеряны.
Redis также может сохранять официальную документацию проверки данных.
Официальный документ Redis Persistence
Redis как кеш
Да, Redis находится между Django и RDBMS.
Как это работает
Фреймворк кеширования Django Официальный документ
Как можно использовать Redis с Django
Мы можем использовать redis-клиент python redis-py для приложения Django.
Redis-клиент python redis-py Github
Мы можем использовать Django-redis для бэкэнда кеширования django.
Django-redis основан на redis-py и добавил дополнительные функции, связанные с приложением django.
Django-redis doc Github
Существуют и другие библиотеки.
Примеры использования и типы данных Redis
Некоторые варианты использования
Основные варианты использования Redis по типам структур основных данных
Крупные технологические компании, использующие Redis
источник