Instalacja Redis na Ubuntu 18.04

logixdev | 2020-05-21 21:33:13 UTC | #1


Cześć! :facepunch:

W tym poradniku pokażę Wam w jaki sposób zainstalować bazę danych Redis na systemie Ubuntu 18.04 (na starszych jak i nowszych wersjach systemu sposób również będzie działał - może różnić się jedynie wersja repozytorium). W tym wątku jedynie opiszę czym jest Redis oraz instalację, a nie jego implementację w PHP czy innym języku.

:information_source: Spis treści:

  1. Czym jest Redis?
  2. Zastosowanie, do czego mogę użyć Redisa?
  3. Instalacja serwera Redis na Ubuntu
  4. Zabezpieczenie dostępu do bazy Redis
  5. Koniec

1. Czym jest Redis?
Redis (skrót od Remote Dictionary Service) jest magazynem danych typu klucz, tzw. pamięciową bazą NoSQL. Przechowywanie danych w pamięci RAM daje nam ekstremalną wydajność (absolutnie nieporównywalną np. z MySQL, porównanie tutaj przy zachowaniu stałości zapisanych danych (opcjonalnie, dzięki odpowiedniej konfiguracji) poprzez przenoszenie ich następnie na dysk twardy. Redis jest napisany w języku C. Inną definicją może być również to, że jest magazynem struktur danych w pamięci. W opinii wielu jest lepszy od np. Memcached, bo zapewnia ową stosunkowo łatwą w implementacji trwałość danych poprzez zapis na twardym dysku.

:facewithhandovermouth: Redisa zainstalujesz na wszystkich serwerach KVM z oferty LVLUP. Użyj kodu CRAFTCODE.PL w trakcie składania zamówienia i otrzymaj 10% zniżki! :moneymouthface:


2. Zastosowanie, do czego mogę użyć Redisa?
Jak już wcześniej wspomniałem, Redis oferuje bardzo dużą wydajność. Dzięki temu jest przydatny np. przy:

W Minecrafcie z bazy Redis korzystają np. sektory, w których też liczy się wysyłania i odbierania pakietów między sektorami a oprogramowaniem je obsługującym (jedne z nich są dostępne publicznie wraz z kodem źródłowym tutaj - można też sprawdzić przykład implementacji Redisa w Javie).


3. Instalacja serwera Redis na Ubuntu
Instalacja serwera Redis jest stosunkowo prosta i intuicyjna. Sprowadza się od wykonania kilku komend. Jeśli wykonujemy je nie z poziomu użytkownika root, pamiętajmy o dodaniu przed nimi polecenia sudo.
:information_source: Warto sprawdzić wersję pakietu dla Twojego systemu operacyjnego. Nowsze wersje niż te w oficjalnych repozytoriach Ubuntu można pobrać stąd, ale wymagają ręcznej instalacji.

maxmemory 256mb
maxmemory-policy allkeys-lru

:warning: Pamiętamy po zmianie ustawień o restarcie Redisa:
service redis-server restart


4. Zabezpieczenie dostępu do bazy Redis
Tutaj możemy wykonać dwie podstawowe czynności. :wink:

:warning: Uwaga! Pamiętamy, że przy takim ustawieniu nie będzie dostępu do bazy np. z innego serwera VPS.

:warning: Uwaga! Po wykonaniu wszystkich czynności musimy ponownie uruchomić Redisa.
service redis-server restart

:lock: Aby sprawdzić nasze zabezpieczenia po pierwsze wpisujemy komendę netstat -lnp | grep redis i patrzymy na jakim adresie nasłuchuje połączenia Redis (jeśli jest 127.0.0.1 - znaczy, że okej). Po drugie logując się znanym już nam poleceniem redis-cli sprawdzamy, czy zapyta nas o hasło.

:speech_balloon: Innymi, dodatkowymi sposobami na zabezpieczenie jest np. zmiana nazwy dla niebezpiecznych komend czyszczących dane itp. W podstawowej formie jednak obligatoryjnie wykonujemy opisane powyżej dwie czynności.


5. Koniec
To na tyle! Jeśli macie jakieś uwagi co do treści poradnika, to oczywiście jestem otwarty. :wink:
Data ostatniej aktualizacji: 21.05.2020 r.

:facewithmonocle: Źrodła:
* wiedza własna
* logo z: https://redis.io/



xitsmikey | 2021-04-25 13:39:15 UTC | #2

Niby instalacja prosta, ale jednak mi wywaliło pewne błędy. Zaraz po instalacji chciałem sprawdzić status redis-a i otrzymałem taki komunikat:
image|690x247

Zaraz po próbie zalogowania się do konsoli natomiast wywala not-connected> jak tu:
2|690x141

Wszystko było instalowanie z uprawnieniami sudo, dodatkowo było to konto root


xitsmikey | 2021-04-25 13:48:36 UTC | #3

Nevermind, po instalacji redis, zrobiłem dodatkowo apt-get update i zaczeło wszystko śmigać. Jakby ktoś miał podobny problem polecam tą komendę po instalacji. Sorki za odświeżenie starego wątku.