Generator redis.conf
Bezpieczna konfiguracja Redis
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator pliku redis.conf
Redis to szybki magazyn danych w pamięci, używany jako cache, kolejka i broker sesji. Właściwa konfiguracja decyduje o bezpieczeństwie i stabilności.
Najważniejsze ustawienia
| Opcja | Znaczenie |
|---|---|
| bind | adresy, na których Redis nasłuchuje |
| maxmemory | limit zużycia pamięci RAM |
| maxmemory-policy | co usunąć, gdy pamięć się kończy |
| appendonly | trwałość danych (AOF) |
| requirepass | hasło dostępu |
Polityka usuwania
allkeys-lru— usuwa najdawniej używane klucze (dobra dla cache).volatile-lru— usuwa tylko klucze z ustawionym TTL.noeviction— zwraca błąd, gdy brakuje pamięci.
Bezpieczeństwo
Domyślnie Redis nie ma hasła i nasłuchuje na wszystkich interfejsach. To najczęstsza przyczyna przejęcia serwera. Ustaw bind 127.0.0.1, dodaj requirepass i nigdy nie otwieraj portu 6379 na świat.
Jak działa generator redis.conf
Generator działa jak szablon z podstawianiem wartości. To, co wpiszesz w formularzu, jest mapowane na konkretne dyrektywy pliku konfiguracyjnego: pole adresów nasłuchu trafia do linii bind, limit pamięci do maxmemory, wybrana polityka do maxmemory-policy, przełącznik trwałości do appendonly, a hasło do requirepass. Jednostki są przeliczane na format, który Redis rozumie — zamiast liczyć ręcznie bajty, wpisujesz wartość w megabajtach albo gigabajtach, a generator zapisuje ją w spójnej postaci.
Po zebraniu pól narzędzie składa zwykły tekst: dyrektywy jedna pod drugą, uzupełnione krótkimi komentarzami wyjaśniającymi sens ustawienia. Wynik możesz skopiować i wkleić do pliku redis.conf albo pobrać jako plik. Całość liczona jest w przeglądarce — konfiguracja nie jest nigdzie wysyłana, a generator nie łączy się z Twoją instancją Redis ani nie sprawdza, czy działa.
Warto wiedzieć, że część opcji ma sens tylko w parze. Sam maxmemory-policy bez maxmemory nic nie zmieni, bo Redis nie zna progu, od którego ma zacząć usuwać klucze. Podobnie bind 127.0.0.1 ogranicza dostęp sieciowy, ale nie zastępuje hasła. Generator pilnuje formatu i wzajemnych zależności między polami, natomiast nie wie, ile pamięci faktycznie ma Twój serwer — tę decyzję podejmujesz sam.
Przykład krok po kroku: cache na serwerze 4 GB
- Zaczynasz od pojemności RAM serwera: 4 GB, czyli 4096 MB. To twardy limit, którego nie możesz przekroczyć.
- Odejmujesz rezerwę dla systemu i procesów towarzyszących: 4096 MB − 1024 MB = 3072 MB dla Redis, czyli 3 GB.
- Wpisujesz w polu limitu pamięci wartość 3 GB. Generator zapisze ją jako maxmemory 3gb, co odpowiada 3221225472 bajtom (3 × 1024 × 1024 × 1024). Redis zużyje wtedy maksymalnie 75% pamięci maszyny (3 z 4 GB).
- Wybierasz politykę usuwania allkeys-lru, bo instancja służy jako cache — stare klucze mogą zniknąć bez szkody dla aplikacji.
- Ustawiasz bind 127.0.0.1 i dodajesz requirepass z długim, losowym hasłem. Port 6379 zostaje zamknięty na zewnątrz na poziomie firewalla.
- Decydujesz o trwałości: jeśli cache ma się odbudować sam po restarcie, zostawiasz appendonly no. Jeśli dane mają przetrwać restart, ustawiasz appendonly yes i pamiętasz, że plik AOF zajmie dodatkowe miejsce na dysku.
Wynik: gotowy plik redis.conf, w którym limit pamięci jest o 1 GB niższy od RAM serwera, polityka usuwania pozwala przetrwać chwilowe skoki ruchu bez błędu zapisu, a instancja nie jest dostępna z sieci.
Najważniejsze dyrektywy w generowanym pliku
| Dyrektywa | Przykładowa wartość | Kiedy ma znaczenie |
|---|---|---|
| bind | 127.0.0.1 | Gdy Redis ma być widoczny tylko lokalnie. Ogranicza adresy, na których instancja nasłuchuje. |
| port | 6379 | Domyślny port Redis. Zmiana utrudnia przypadkowe skanowanie, ale nie zastępuje firewalla i hasła. |
| maxmemory | 3gb | Zawsze, gdy instancja ma chronić resztę systemu przed wyczerpaniem RAM. |
| maxmemory-policy | allkeys-lru | Dla cache, gdzie każdy klucz wolno usunąć. Wymaga ustawionego maxmemory. |
| maxmemory-policy | volatile-lru | Gdy usuwać można wyłącznie klucze z ustawionym TTL, a pozostałe są cenne. |
| maxmemory-policy | noeviction | Gdy żadna utrata danych jest niedopuszczalna — Redis zwraca błąd przy braku pamięci. |
| appendonly | yes | Gdy dane mają przetrwać restart. Zapisuje każdą operację, kosztem większych plików. |
| requirepass | długie, losowe hasło | Zawsze, gdy instancja nie jest w pełni odizolowana od innych procesów i sieci. |
Praktyczne wskazówki
- Ustawiaj maxmemory razem z polityką. Limit bez polityki nie chroni przed błędami zapisu, a polityka bez limitu nigdy się nie uruchomi.
- Rezerwuj pamięć na system. Redis trzyma dane w RAM, ale obok niego działa jądro, strony pamięci i ewentualnie inne usługi — zostaw co najmniej 1 GB zapasu.
- Wybieraj politykę według roli instancji. Cache zniesie allkeys-lru, kolejka i broker sesji wymagają raczej noeviction albo polityk ograniczonych do kluczy z TTL.
- Nie polegaj na samym bind. Ograniczenie nasłuchu do 127.0.0.1 plus requirepass plus zamknięty port 6379 to trzy warstwy, które działają razem.
- Zapisuj plik obok wersjonowanego. Trzymaj redis.conf w repozytorium konfiguracji, żeby zmiana hasła albo limitu była widoczna w historii zmian i łatwa do cofnięcia.
Czego narzędzie nie uwzględnia
- Rzeczywistego zużycia pamięci. Generator przyjmuje wartość, którą wpiszesz, ale nie zna rozmiaru Twoich danych ani narzutu związanego z fragmentacją i strukturami wewnętrznymi Redisa.
- Ustawień po stronie systemu. Nie sprawdzi overcommit pamięci, przezroczystych wielkich stron ani limitów kontenera, w którym działa instancja.
- Topologii i replikacji. Nie wygeneruje konfiguracji dla replik, Sentinel, klastra ani osobnych plików ACL — to trzeba dopisać ręcznie.
- Warstwy sieciowej i szyfrowania. Firewall, proxy, tunel TLS i dostęp zdalny pozostają poza zakresem narzędzia; wygenerowany plik tego nie zastąpi.
Najczęstsze pytania
RDB czy AOF?
RDB to okresowe migawki (szybkie, mniejsze pliki). AOF zapisuje każdą operację (trwalsze, większe pliki). Można używać obu.
Jak ustawić maxmemory?
Zostaw co najmniej 1 GB dla systemu. Np. na serwerze 4 GB ustaw maxmemory na ok. 3 GB.
Skąd tyle pamięci po restarcie?
Sprawdź politykę usuwania i fragmentację. Pomaga restart w trybie czuwania lub włączenie activedefrag.
Jak ustawić hasło w Redis?
Dodaj dyrektywę requirepass z długim, losowym hasłem i zrestartuj instancję. Samo hasło nie wystarczy, jeśli port 6379 jest otwarty na świat — połącz je z ograniczeniem bind i regułą firewalla.
Co się stanie, gdy Redis osiągnie maxmemory przy polityce noeviction?
Redis nie usunie żadnego klucza i zacznie zwracać błędy przy operacjach zapisu. Odczyt nadal działa. To zachowanie bezpieczne dla danych, ale wymaga reakcji, zanim aplikacja zacznie zgłaszać błędy.
Po co włączać appendonly w redis.conf?
AOF zapisuje każdą operację modyfikującą dane, więc po restarcie odtworzy stan dokładniej niż okresowe migawki RDB. Kosztem jest większy plik na dysku i dodatkowe obciążenie zapisu.
Czy bind 127.0.0.1 wystarczy, żeby zabezpieczyć Redis?
Ogranicza dostęp do interfejsu lokalnego, ale nie chroni przed innymi procesami na tej samej maszynie. Dołóż requirepass, a port 6379 pozostaw zamknięty dla ruchu z zewnątrz.
Jak dobrać maxmemory-policy do roli instancji?
Dla czystego cache odpowiednia jest allkeys-lru, dla danych mieszanych volatile-lru, a gdy utrata kluczy jest niedopuszczalna — noeviction. Wybór zawsze łącz z ustawionym limitem maxmemory.