@sait4seo

Как в Nginx посчитать md5 от url path без query args (нужно для кэширования)?

Алгоритм такой
1) считаем md5 или любой другой хэш от /product/mp3501
2) берём первые 3 символа 5B3
3) перенаправляем запрос в каталог с уже заготовленным бэкендом файлом 5B3/product/mp3501/index.html

PS
Как я понимаю в одной директории не стоит пытаться создать ~700000 поддиректорий в первом уровне вложенности, поэтому пытаюсь сделать несколько уровней вложенности.
Есть ещё вариант вместо файловой системы в redis странички класть и nginx-ом считывать (готов к критике)
  • Вопрос задан
  • 711 просмотров
Пригласить эксперта
Ответы на вопрос 2
Lynn
@Lynn
nginx, js, css
https://github.com/openresty/lua-nginx-module/blob...

nginx.org/en/docs/njs/reference.html#crypto

В 99% что-то из этого уже есть или легко добавляется.
Ответ написан
Комментировать
@ynblpb_spb
дятел php
А почему бы не воспользоваться штатным кешированием nginx, которое один раз дернет бэк и у себя аккуратно разложит кеш как надо и проследит за его состоянием?

Или в вашем случае бек занимается генерированием статики, вы заранее раскладываете файлики по директориям и хотите, чтобы nginx их "умно" дёргал?
В таком случае я бы написал простейший роутер на любом ЯП, в котором бы считал md5 кеш, читал с диска нужный файл и отдавал его nginx, а nginx в свою очередь кешировал этот ответ и у себя хранил бы кеш.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы