Если вы хотите иметь идентичные файлы кеша, вы должны быть уверены, что у вас одинаковый ввод на обоих серверах.
Вам следует проверить:
- , есликод в
{% compress %}...{% endcompress %}
идентичен на обоих серверах (если вы развертываете на обоих серверах сразу, это должно быть) - , если все ваши файлы .css / .js идентичны на обоих серверах (если вы развертываете на обоих серверахсразу должно быть)
- если mtime (время изменения) ваших файлов .css / .js одинаково на обоих серверах (ваш скрипт развертывания может повлиять на них и установить текущую дату)
Если все эти требования выполнены, сгенерированные файлы должны быть идентичны (содержимое и имена).
Вы можете проверить mtime с помощью команды stat "unix.
Ответы на ваши вопросы:
- Назначение кэша в django-компрессоре - уменьшить чтение из файловой системы.
- Сгенерированный файл с комбинированным кодом хранится только в файловой системе.
Редактировать:
У меня есть чвзломал его на одном из моих сайтов за балансировщиком нагрузки.У меня есть разные имена файлов .css, но они идентичны для .js.
. Для файлов .css я использую препроцессор (http://lesscss.org/),, поэтому он влияет на mtime.
Edit(после разработки темы):
Что находится в кеше?
Из-за документации Джанго-компрессор хранит в кеше дваразные вещи:
Из-за последующего использования кэша django-compress уменьшает количество чтений в файловой системе до 0. Это важно для скорости страниц, поскольку чтение из памяти в сотни раз быстрее, чем чтение из файловой системы.Также файловая система очень часто является узким местом.
Как она хранится в кеше?
django-compress хранит код в кеше, используя сгенерированный ключ.Ключ генерируется из:
- кода в
{% compress %}...{% endcompress %}
- m файлов, упомянутых в
{% compress %}...{% endcompress %}
Так что они должны быть одинаковыми на всехсервера, если вы хотите получать последовательные ответы.
PS.
Пожалуйста, проверьте ограничения (например, mtime) на вашем сервере и опубликуйте здесь информацию, если они совпадают.
Я исправлю эту проблему на моем сайте, вероятно, на следующей неделе, тогда я опубликую дополнительные сведения.