Używanie pamięci podręcznej w celu zwiększenia wydajności

Dostarczanie elementów zawartości, zasobów cyfrowych i serwisów powinno — w celu zwiększenia wydajności tych operacji i renderowania — w pełni opierać się na podręcznej pamięci przeglądarki osoby odwiedzającej.

Serwisy, motywy, elementy zawartości i zasoby cyfrowe są przechowywane przez określony czas w podręcznej pamięci przeglądarki osoby odwiedzającej. Gdy serwis, motyw, element zawartości lub zasób cyfrowy zostanie zaktualizowany, zostanie zmieniony klucz "cache-buster" w adresie URL, tak że przeglądarka musi pobrać nowy adres URL i uzyskać nowy element.

Klucz "cache" pomaga zarządzać użytkowaniem podręcznej pamięci przeglądarki, odwołując się tylko do aktualnych zasobów. Mimo że klucz "cache" jest zawarty w adresie URL, to jednak jest elementem logicznym, a nie — jak często ma to miejsce — lokalizacją fizyczną (folderem). Zmiana w kluczu "cache" nie wskazuje innej lokalizacji fizycznej zasobu; informuje jedynie serwer, że należy pobrać aktualną wersję zasobu.

Zasoby mogą być statyczne (np. pliki CSS, pliki JS i pliki obrazów) lub dynamiczne (np. dane, dane serwisu czy dane elementu zawartości). Istnieje pięć kategorii zasobów używanych do konstruowania serwisu:

  • Zasoby produktu — Zasoby stanowiące część produktu, które ulegają aktualizacji, gdy pojawi się nowa wersja produktu lub do starej wersji zostaną zastosowane poprawki.

  • Zasoby serwisu — Zasoby stanowiące część serwisu, takie jak structure.json, dane stron oraz obrazy. Zasoby te są aktualizowane, gdy serwis jest publikowany. Kontroler jest opisany dalej.

  • Zasoby motywów — Zasoby stanowiące część motywów, takie jak układy, pliki CSS i obrazy. Zasoby te są aktualizowane, gdy motyw jest publikowany.

  • Zasoby składników — Zasoby stanowiące część składników niestandardowych. Do zasobów tych należą pliki HTML, JS i CSS oraz pliki obrazów używane w składniku. Zasoby te są aktualizowane, gdy składnik jest publikowany. Jeśli jeden składnik zostanie zmieniony i ponownie opublikowany, to klucz "cache" zmienia się dla wszystkich składników, ponieważ jest używany tylko jeden klucz dla wszystkich składników.

  • Zasoby CaaS — Zasoby obsługujące elementy zawartości i elementy cyfrowe. Są aktualizowane, gdy elementy zawartości są publikowane lub publikowane bądź gdy zmienia się miejsce docelowe gromadzenia.

W poniższych tematach jest opisane wykorzystywanie pamięci podręcznej (buforowanie) w trybie wykonawczym Oracle Content Management oraz dla konstruktora serwisów:

Buforowanie w trybie wykonawczym

W trybie wykonawczym nagłówek Cache-Control dla Oracle Content Management jest ustawiany na 15 dni. Do adresu URL każdego z zasobów jest dodawany klucz "cache".

Dopóki URL nie ulegnie zmianie, przeglądarka będzie obsługiwać dany zasób z lokalnej pamięci podręcznej, o ile jest ona dostępna. Gdy zasób zostanie zaktualizowany, nastąpi aktualizacja klucza "cache" w adresie URL, co zmusza przeglądarkę do wysłania nowego żądania do serwera i zaktualizowania lokalnej pamięci podręcznej.

Kontroler zawierający klucze "cache" jest także przechowywany w pamięci podręcznej, przez 1 minutę. Wskutek tego zaktualizowane klucze "cache" nie będą widoczne przez czas sięgający 1 minuty.

W trybie wykonawczym serwer zwraca controller.html z najnowszymi kluczami "cache" dla produktu, serwisu, motywu, składników i zasobów CaaS. Do pliku controller.html jest dodawany skrypt z kluczami; na przykład:

<script type="text/javascript">
        var SCSCacheKeys = {
                        product: '123',
                        site: '456',
                        theme: '789',
                        component: '012',
                        caas: '345'

        };

</script> 

Klucze te są używane przez controller.js do konstruowania adresów URL podobnych do pokazanych w poniższej tabeli.

Typ zasobów Przykłady
Zasoby produktu
/sitePrefix/productCacheKey/_sitesclouddelivery/...
/mySite/_cache_947d/_sitesclouddelivery/
Zasoby motywu
/sitePrefix/themeCacheKey/_themesdelivery/themeName/...
Zasoby składnika
/sitePrefix/compCacheKey/_compdelivery/compName/...
Zasoby serwisu
/sitePrefix/siteCacheKey/content/...
/sitePrefix/siteCacheKey/structure.json
/sitePrefix/siteCacheKey/pages/100.json
Zasoby CaaS
RegularCaaSUrl?cacheKey=caasCacheKey

Oracle Content Management, wstawiając w ten sposób klucze "cache" do adresów URL, może zmusić przeglądarkę do ładowania zaktualizowanych zasobów; jeśli zmieni URL, przeglądarka uzna, że ma do czynienia z nowym zasobem.

Uwaga:

W przypadku serwisów zabezpieczonych w pamięci podręcznej są przechowywane tylko zasoby produktu, motywów i składników. Nie jest natomiast buforowana zawartość serwisu ani zawartość CaaS.

Buforowanie dla konstruktora serwisów

W konstruktorze serwisów zasoby statyczne są przechowywane w pamięci podręcznej przez 15 dni.

Gdy jest używany konstruktor serwisów, buforowanie odbywa się dla zasobów produktów, motywów i składników. (Nie obejmuje zasobów serwisów i CaaS.) Klucze "cache" motywów i składników są ponownie generowane podczas uruchamiania lub odświeżania konstruktora serwisów.

Jeśli do motywu lub składnika wprowadzono zmiany, które mają zostać uwzględnione w konstruktorze serwisów, należy odświeżyć konstruktor serwisów, naciskając klawisz F5.