Cache


Opis

Moduł Cache pozwala na buforowanie i przechowywanie dowolnych danych, które są widoczne w obrębie całej instancji jPALIO. W przeciwieństwie do informacji przechowywanych np.: w zmiennych globalnych, dane umieszczone w module Cache nie są usuwane po zakończeniu przetwarzania strony.

Dostępne są następujące typy buforów:

Moduł ten najczęściej jest wykorzystywany do przechowywania wyników zapytań SQL, które są często używane w systemie (np.: dane słownikowe potrzebne do generowania list w formularzach) lub ich wykonanie jest bardzo obciążające dla systemu (np.: wygenerowanie raportów w nocy, kiedy system jest mniej obciążony, tak aby były dostępne później).

Przykłady

Przykład 1: Wyobraźmy sobie, że naszym zadaniem jest stworzenie prostej funkcjonalność blokowania użytkowników, którzy trzykrotnie podali nieprawidłowe hasło. Do tego zadania świetnie nadaje się moduł Cache, którego obsługę można zamknąć w trzech obiektach:

Obiekt: users.blacklist.Add

$#params(String userId)${
@cacheName = "users.blacklist";
ifNot(cache.isCacheCreated(@cacheName), {
cache.createSimpleCache(@cacheName);
});
cache.put(@cacheName, @userId, @userId);
}

Obiekt: users.blacklist.IsBlocked

$#params(String userId)${
@cacheName = "users.blacklist";
if(cache.isCacheCreated(@cacheName), {
return(cache.containsKey(@cacheName, @userId));
}, {
return(false);
});
}


Obiekt: users.blacklist.Clear (zadanie uruchamiane np.: w nocy)

$cache.deleteCache("users.blacklist")
$#params(String ipAddress)${

@cacheName = "cache.ip.bots";

ifNot(cache.isCacheCreated(@cacheName), {
cache.createVolumeCache(@cacheName, 10000);
});

cache.put(@cacheName, @ipAddress, @ipAddress);
}

API

Dokumentacja funkcji modułu Cache dostępna jest pod adresem http://jpalio.torn.com.pl/modules/palio/modules/Cache.html.