Redis: Różnice pomiędzy wersjami
(New Redis version.) |
|||
(Nie pokazano 14 wersji utworzonych przez 5 użytkowników) | |||
Linia 3: | Linia 3: | ||
=== Plik konfiguracyjny === | === Plik konfiguracyjny === | ||
− | Plik konfiguracyjny można pobrać za pomocą polecenia <code><nowiki>wget | + | Plik konfiguracyjny można pobrać za pomocą polecenia <code><nowiki>wget https://raw.githubusercontent.com/antirez/redis/7.2.5/redis.conf</nowiki></code>. |
==== Unixsocket ==== | ==== Unixsocket ==== | ||
Linia 11: | Linia 11: | ||
Aby skonfigurować serwer tak by był dostępny przez unixsocket należy ustawić w pliku <code class="directory">redis.conf</code> zmienne: | Aby skonfigurować serwer tak by był dostępny przez unixsocket należy ustawić w pliku <code class="directory">redis.conf</code> zmienne: | ||
* ''port'' na 0 | * ''port'' na 0 | ||
− | * ''unixsocket'' na <code class="directory">/home/''login''/''domena''/redis.sock</code> | + | * ''unixsocket'' na <code class="directory">/home/''login''/domains/''domena''/redis.sock</code> |
+ | |||
+ | |||
+ | Gdzie ''login'' to nazwa konta hostingowego, ''domena'' to domena strony której dotyczy uruchamiany Redis. | ||
+ | |||
+ | ==== Hasło ==== | ||
+ | |||
+ | Aby zdefiniować hasło do serwera Redis należy w pliku konfiguracyjnym <code class="directory">redis.conf</code> wpisać je po frazie ''requirepass''. | ||
+ | |||
+ | {{warning|W wypadku braku ustawienia hasła podczas wystawiania aplikacji na z nasłuchem port każdy będzie posiadał dostęp do twojej bazy danych i jej zawartości.}} | ||
==== Port ==== | ==== Port ==== | ||
Aby skonfigurować serwer tak by był dostępny przez port należy zarezerwować port. Następnie trzeba ustawić w pliku <code class="directory">redis.conf</code> zmienną ''port'' na nr zarezerwowanego portu. | Aby skonfigurować serwer tak by był dostępny przez port należy zarezerwować port. Następnie trzeba ustawić w pliku <code class="directory">redis.conf</code> zmienną ''port'' na nr zarezerwowanego portu. | ||
+ | |||
+ | {{warning|Po ustawieniu usługi na dany port, o ile nie ograniczono w pliku konfiguracyjnym nasłuchu do 127.0.0.1, baza dostępna będzie zdalnie, należy więc bezwzględnie ustawić hasło dostępu!}} | ||
==== Ograniczanie dostępu ==== | ==== Ograniczanie dostępu ==== | ||
Domyślnie Redis nasłuchuje na wszystkich intefejsach sieciowych. Aby ograniczyć nasłuchiwanie do localhost należy ustawić w pliku <code class="directory">redis.conf</code> zmienną bind na 127.0.0.1. | Domyślnie Redis nasłuchuje na wszystkich intefejsach sieciowych. Aby ograniczyć nasłuchiwanie do localhost należy ustawić w pliku <code class="directory">redis.conf</code> zmienną bind na 127.0.0.1. | ||
− | |||
− | |||
=== Persystencja === | === 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ć. | + | 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 ==== | ||
Linia 49: | Linia 58: | ||
Aby uruchomić serwer Redisa należy skorzystać z polecenia: | Aby uruchomić serwer Redisa należy skorzystać z polecenia: | ||
screen redis-server redis.conf | screen redis-server redis.conf | ||
+ | |||
+ | Zalecamy również dodanie zadania [[Cron|CRON]], uruchamiającego serwer Redis po reboocie serwera, przykładowe polecenie które należy dodać w zadaniu cron do wykonania po reboot: | ||
+ | |||
+ | redis-server /usr/home/login/redis.conf | ||
+ | |||
+ | Przyjęliśmy, że plik konfiguracyjny znajduje się w katalogu głównym konta, wartość "login" należy zastąpić nazwą użytkownika. | ||
=== PHP === | === PHP === |
Aktualna wersja na dzień 13:57, 5 sie 2024
Redis to otwarty system cache typu klucz - wartość oraz nie SQLowa baza danych wydawana na licencji BSD.
Spis treści
Plik konfiguracyjny
Plik konfiguracyjny można pobrać za pomocą polecenia wget https://raw.githubusercontent.com/antirez/redis/7.2.5/redis.conf
.
Unixsocket
Zalecanym sposobem udostępniania serwera Redis na MyDevil 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
/home/login/domains/domena/redis.sock
Gdzie login to nazwa konta hostingowego, domena to domena strony której dotyczy uruchamiany Redis.
Hasło
Aby zdefiniować hasło do serwera Redis należy w pliku konfiguracyjnym redis.conf
wpisać je po frazie requirepass.
W wypadku braku ustawienia hasła podczas wystawiania aplikacji na z nasłuchem port każdy będzie posiadał dostęp do twojej bazy danych i jej zawartości.
Port
Aby skonfigurować serwer tak by był dostępny przez port należy zarezerwować port. Następnie trzeba ustawić w pliku redis.conf
zmienną port na nr zarezerwowanego portu.
Po ustawieniu usługi na dany port, o ile nie ograniczono w pliku konfiguracyjnym nasłuchu do 127.0.0.1, baza dostępna będzie zdalnie, należy więc bezwzględnie ustawić hasło dostępu!
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 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 prze 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
Zalecamy również dodanie zadania CRON, uruchamiającego serwer Redis po reboocie serwera, przykładowe polecenie które należy dodać w zadaniu cron do wykonania po reboot:
redis-server /usr/home/login/redis.conf
Przyjęliśmy, że plik konfiguracyjny znajduje się w katalogu głównym konta, wartość "login" należy zastąpić nazwą użytkownika.
PHP
Na serwerach MyDevil Redis jest dostępny również z PHP za pomocą odpowiedniego modułu.