Какой прирост сложно сказать, проект в котором этот кеш используется, до его применения был реализован на совсем другой платформе. Но прирост есть.
И дело не только в экономии времени, такая автоматическая система позволяет кешировать, грубо говоря, все запросы к БД, что здорово её разгружает. А сервера приложений масштабировать в случае надобности куда проще.
Невозможно, если архитектура изначально проектировалась на использование кеша. А это так в данном случае.
Само использование кеширования трансформирует арххитектуру системы. Например, обычно стараются делать меньше запросов. Кеширование же по событиям побуждает разбивать запросы на более простые, чтобы их можно было кешировать и инвалидировать независимо. Поэтому простое отключение кеша, даже если бы оно было возможно под нагрузкой, не даст адекватного сравнения.
Откуда желание скрестить ежа с носорогом?
Redis, зачастую, используется как кэш между бд и backend'ом, а varnish исключительно между backend'ом и клиентом.
Я понимаю. имелось ввиду что может быть он может работать и в другом режиме.
проект действительно хороший. обязательно буду им пользоваться.
джанга и так у меня работает с сессиями через redis_sessions.
Тоже некоторое время использовал сессии в редисе, собственную реализацию. Когда занимаемая память перевалила через 400 мб, понял что надо от этого избавляться. Переделал на сессии в подписанных куках, это просто просветление — ничего не надо хранить, никуда делать запросов, сессия приходит вместе с запросом.
Может посвятишь этому свой следующий пост в блоге Django Framework?
было бы инетесно так-же почитать и комментарии к этому посту о том как другие реализовывают работу с сессиями.
Я пытался доки осилить по подписанным куакам, не понял как они работают. Если я хочу хранить в сессии мегаайт данных, оно что ли в куках будет туда-сюда ходить?
Ага, если «сделать всё правильно», то массовый апдейт с условием ортогональным условиям в выборка сбросит весь кеш. Что как-то не очень. Поэтому такие ситуации придётся обрабатывать вручную. К счастью, они не особо часты.
От CACHEOPS_PROFILES, возможно, следует отказаться, не вижу я в нём особого толка пока.
Файловый кеш вообще не документирован пока, так что документировать его настройки было бы странно.
ну я попробовал добавить к проекту таким образом как написано в документации и тут-же выдало ошибку:
'Settings' object has no attribute 'HOME_DIR' просто чтобы хотябы ошибка не вылезала можно было освятить этот пункт в документации.
Johnny Cache, насколько я знаю, инвалидирует сразу все запросы к модели поэтому просто неприменим если изменения часты. В тех же случаях когда он применим он должен быть быстрее потому как проще.
Смотрел, там сильно недостаточная инвалидация. Кеш запроса сбрасывается только когда один из объектов из его результатов изменяется. Например, выборка последних новостей так и зависнет если их никто не будет редактировать, а при добавлении новых новостей кеш сбрасываться не будет.
Cacheops