2011-10-10 15 views
5

Testuję nginx jako odwrotną pamięć podręczną proxy z zasobami REST (Spring MVC + ETag). Każdy GET jest buforowany w porządku.nginx - wyczyść pamięć podręczną na http PUT lub POST

Czy jest możliwe wyczyszczenie pamięci podręcznej nginx dla określonego zasobu za każdym razem, gdy zostanie zaktualizowany za pomocą HTTP PUT lub HTTP POST?

ps: Testuję również pamięć podręczną lakierów, ale mam takie same wątpliwości.

Dzięki!

Odpowiedz

0

Nie określono, jakiego rodzaju buforowanie jest wdrażane, ponieważ istnieje kilka opcji w Nginx.

Z zapytania zakładam, że odwołujesz się do statycznych plików, takich jak obrazy, które są przesyłane do Twojej witryny.

  1. proxy buforowanie To gdzie Nginx buforuje odpowiedź od serwera backend. Aktywacja tego dla plików statycznych nie ma sensu. Pamięć podręczna proxy jest po prostu magazynem na twoim twardym dysku, a koszt pobrania takich plików jest taki sam, jak po prostu pozwoleniu Nginxowi na dostarczanie ich z rzeczywistych lokalizacji w systemie plików.

  2. Buforowanie FastCGI To samo, co buforowanie proxy. Nie ma sensu typ plików, które można przesłać za pomocą POST lub PUT.

  3. Memcache Tutaj przedmioty są przechowywane w pamięci RAM i istnieje na to korzyść. Istnieją podstawowe memcache i rozszerzone moduły memc, które mają procedury zarówno do dodawania do pamięci podręcznej jak i usuwania jej.

Zapytanie jednak sugeruje używasz jednego z dwóch wcześniej i jak powiedział, nie ma absolutnie żadnych korzyści w ten sposób dla danego typu plików, które mogą być przesyłane za pomocą POST lub PUT. Gdy są przechowywane w pamięci podręcznej w Nginx, będą one czytane z lokalizacji dysku, na którym będą przechowywane, tak jak zrobi się to w przypadku odniesienia z pierwotnej lokalizacji dysku. Istnieje również obciążenie związane z kopiowaniem ich z pierwotnej lokalizacji dysku na inną lokalizację dysku.

Z wyjątkiem oczywiście, jeśli czegoś brakuje.

Powiązane problemy