Redis¶
Redis to otwarty system cache typu klucz-wartość
oraz nie SQLowa baza danych wydawana na licencji BSD.
Plik konfiguracyjny¶
Plik konfiguracyjny można pobrać za pomocą polecenia:
fetch https://raw.githubusercontent.com/antirez/redis/6.2/redis.conf
Unixsocket¶
Zalecanym sposobem udostępniania serwera Redis na SMALL.PL jest unixsocket. Jest to specjalny plik, przez który komunikują się ze sobą serwer Redis oraz aplikacja.
Aby skonfigurować serwer tak by był dostępny przez unixsocket należy ustawić w pliku redis.conf
zmienne:
- port na 0
- unixsocket na
/usr/home/LOGIN/domains/DOMENA/redis.sock
Gdzie:
- LOGIN to nazwa konta hostingowego
- DOMENA to domena strony, której dotyczy uruchamiany Redis.
Hasło¶
Uwaga
W wypadku braku ustawienia hasła każdy użytkownik hostingu SMALL.PL będzie posiadał dostęp do systemu cache i jego zawartości.
Aby zdefiniować hasło do serwera Redis należy w pliku konfiguracyjnym redis.conf
wpisać je po frazie requirepass
.
Port¶
Uwaga
Po ustawieniu usługi na dany port, o ile nie ograniczono w pliku konfiguracyjnym nasłuchu do 127.0.0.1
, system cache będzie dostępny zdalnie - należy więc bezwzględnie ustawić hasło dostępu!
Aby skonfigurować serwer tak by był dostępny przez port należy najpierw zarezerwować port TCP
. Następnie trzeba ustawić w pliku redis.conf
zmienną port
na nr zarezerwowanego portu
.
Ograniczanie dostępu¶
Domyślnie Redis nasłuchuje na wszystkich intefejsach sieciowych. Aby ograniczyć nasłuchiwanie do localhost należy ustawić w pliku redis.conf
zmienną bind
na 127.0.0.1
.
Persystencja¶
Persystencja, czyli wytrzymałość bazy danych w przypadku Redisa ma 2 mechanizmy: RDB
i AOF
. Każde z nich jest konfigurowalne, co jest opisane poniżej. Zarówno można włączyć oba mechanizmy jak i oba wyłączyć.
Domyślnie wszystkie podane poniżej pliki zapisują się w lokacji, z której uruchomiono serwer redis.
RDB¶
RDB
(Redis DataBase) polega na zrzucaniu bazy danych z pamięci RAM co pewien czas i co pewną ilość zmian w bazie danych. Domyślna konfiguracja zapisuję bazę danych do pliku dump.rdb
co:
- co 900 sekund (15 minut), jeżeli była co najmniej jedna zmiana (w konfiguracji to linijka:
save 900 1
), - co 300 sekund (5 minut), jeżeli było co najmniej 10 zmian (
save 300 10
), - co 60 sekund, jeżeli było co najmniej 10000 zmian (
save 60 10000
).
Nazwę pliku, do którego jest zrzucana baza danych jest zdefiniowana przez zmienną dbfilename
.
Aby wyłączyć RDB
należy usunąć linijki save
z konfiguracji.
AOF¶
AOF
(Append Only File) polega na zapisywaniu poleceń write
(czyli takich, które zmieniają dane). Domyślna konfiguracja nie korzysta z mechanizmu AOF
. Plik stworzony w ten sposób może być wielokrotnie większy od rozmiaru bazy danych. Nazwa pliku AOF jest zdefiniowana przez zmienną appendfilename
.
Jest możliwość ograniczania wielkości pliku przez przebudowanie pliku AOF
bez przerwania działania Redisa.
Aby włączyć AOF należy zmienić appendonly
na yes
.
Uruchamianie¶
Aby uruchomić serwer Redisa należy skorzystać z polecenia:
screen redis-server redis.conf
PHP¶
Na serwerach SMALL.PL Redis
jest dostępny również z poziomu PHP za pomocą odpowiedniego modułu.