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.
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.
apt update && apt upgrade
apt install redis-server
systemctl enable --now redis-server.service
service redis-server [status | start | stop | restart]
np. service redis-server start
(domyślnie po instalacji serwer powinien być już aktywny)redis-cli
127.0.0.1:6379>
(możemy wtedy wpisać polecenie ping
, aby upewnić się, że wszystko działa w porządku - jeśli tak, zwróci nam komunikat PONG):127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
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:
bind 127.0.0.1 ::1
:warning: Uwaga! Pamiętamy, że przy takim ustawieniu nie będzie dostępu do bazy np. z innego serwera VPS.
requirepass q6e4Yk4d2WscGsK7x8sDsVML
: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:
Zaraz po próbie zalogowania się do konsoli natomiast wywala not-connected> jak tu:
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.