2016-08-24 2 views
0

Мне нужно кэшировать идемпотентные запросы в Redis с некоторым сроком действия. Учебники, размещенные на веб-сайте Hapi, поддерживают catbox.Кэширование ответов на стороне сервера с помощью Hapi

The tutorial рекомендует использовать серверные методы для извлечения данных. Я не мог понять суть этого подхода. Мне просто нужно кэшировать данные ответа с одинаковым URL-адресом. Какой смысл создавать новую функцию обертки?

Кроме того, я запускаю свой сервер с обратным прокси-сервером Nginx. Кажется, у него есть функциональность кэширования ответа, следует ли использовать ее, если я должен как я мог?

спасибо.

ответ

1

Я бы сказал, если что-то возможно с Nginx, и вы можете выяснить, как это сделать, а затем использовать Nginx. Это происходит очень быстро. Но, как правило, сложнее выполнять задачу в файлах конфигурации Nginx, чем в JavaScript. Мне трудно представить, что вам нужно выработать этот дополнительный бит производительности, так как Redis тоже очень быстро. Если бы это был я, я бы использовал Catbox с Redis.

Если я понимаю вопрос, то точка функции-обертки заключается в создании ключа для хранения и поиска кешированного значения, а также с истечением срока действия.

Если вы хотите, я думаю, что this это конфигурационный файл для того, как сделать это с Nginx:

http { 
    proxy_cache_path /data/nginx/cache levels=1:2 keys_zone=STATIC:10m 
    inactive=24h max_size=1g; 
    server { 
     location/{ 
      proxy_pass    http://1.2.3.4; 
      proxy_set_header  Host $host; 
      proxy_cache   STATIC; 
      proxy_cache_valid  200 1d; 
      proxy_cache_use_stale error timeout invalid_header updating 
            http_500 http_502 http_503 http_504; 
     } 
    } 
} 
Смежные вопросы