Как я могу использовать redis с Django?



Я слышал о redis-cache, но как именно это работает? Используется ли он как слой между django и моей СУБД, кэшируя запросы rdbms каким-то образом?



или он должен использоваться непосредственно в качестве базы данных? Что я сомневаюсь, так как эта страница github не охватывает никаких данных для входа, никакой настройки.. просто говорит вам установить некоторые свойства конфигурации.

852   4  

4 ответов:

этот модуль Python для Redis имеет четкий пример использования в readme:http://github.com/andymccurdy/redis-py

Redis предназначен для кэширования оперативной памяти. Он поддерживает основные GET и набор ключей плюс хранение коллекций, таких как словари. Вы можете кэшировать запросы РСУБД, сохраняя их выходные данные в Redis. Цель будет заключаться в том, чтобы ускорить ваш сайт Джанго. Не начинайте использовать Redis или любой другой кэш, пока вам не понадобится скорость-не преждевременно оптимизировать.

просто потому, что 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. Вы можете использовать его в качестве брокера сообщений для сельдерей или Python RQ.

Comments

    Ничего не найдено.