Redis je úložiště datových struktur in-memory s otevřeným zdrojovým kódem (s licencí BSD). Může být použit jako databáze , cache a zprostředkovatel zpráv. Podporuje různé druhy abstraktních datových struktur, jako jsou řetězce, hashe, seznamy, sady, tříděné sady, hyperlogy, bitmapy, proudy a prostorové indexy.
Tento příspěvek vám vysvětluje, jak nainstalovat Redis na CentOS 7 / RHEL 7 &Ubuntu 18.04 / Ubuntu 16.04 . Také vám pomůže nastavit replikaci master/slave na Redis.
Instalovat Redis na CentOS 7 / RHEL 7 &Ubuntu 18.04 / Ubuntu 16.04
Balíček Redis dostupný v úložišti EPEL pro CentOS / RHEL a úložiště OS na Ubuntu je docela staré. Budeme tedy instalovat nejnovější verzi Redis (v5.0.2) z repozitáře Remi a chris lea PPA na CentOS / RHEL a Ubuntu.
Nastavení úložiště
Začněte přidávat úložiště na základě operačních systémů, které používáte.
### CentOS 7 / RHEL 7 ### rpm -ivh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh https://rpms.remirepo.net/enterprise/remi-release-7.rpm # for RHEL only subscription-manager repos --enable=rhel-7-server-optional-rpms ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo add-apt-repository ppa:chris-lea/redis-server sudo apt update
Nainstalujte Redis
Nainstalujte balíček Redis zadáním následujícího příkazu do terminálu.
### CentOS 7 / RHEL 7 ### yum install -y redis --enablerepo=remi ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo apt install -y redis-server
Nyní spusťte server Redis a povolte jeho automatické spouštění při spouštění systému.
### CentOS 7 / RHEL 7 ### systemctl start redis systemctl enable redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl start redis-server sudo systemctl enable redis-server
Zadejte níže uvedený příkaz a zkontrolujte stav služby Redis.
### CentOS 7 / RHEL 7 ### systemctl status redis ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo systemctl status redis-server
Měli byste vidět něco jako níže.
● redis.service - Redis persistent key-value database Loaded: loaded (/usr/lib/systemd/system/redis.service; enabled; vendor preset: disabled) Drop-In: /etc/systemd/system/redis.service.d └─limit.conf Active: active (running) since Wed 2018-11-28 06:57:30 UTC; 14s ago Main PID: 1898 (redis-server) CGroup: /system.slice/redis.service └─1898 /usr/bin/redis-server 127.0.0.1:6379 Nov 28 06:57:30 redisc7 systemd[1]: Starting Redis persistent key-value database... Nov 28 06:57:30 redisc7 systemd[1]: Started Redis persistent key-value database.
Ověřte instalaci Redis
Ověřte, že Redis běží s redis-cli
(rozhraní příkazového řádku Redis).
redis-cli ping
Pokud Redis běží, vrátí PONG.
PONG
Nyní máte na svém serveru spuštěn Redis.
Konfigurace vzdáleného přístupu Redis (volitelné)
Ve výchozím nastavení Redis neumožňuje vzdálená připojení. K Redis se můžete připojit pouze z 127.0.0.1 (localhost) – počítač, na kterém běží Redis.
Níže uvedené kroky proveďte pouze v případě, že se chcete ke svému serveru Redis připojit ze vzdálených hostitelů.
Upravte konfigurační soubor Redis.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Najděte řádek, který začíná bind 127.0.0.1
a za 127.0.0.1 přidejte IP adresu vašeho serveru. Poté soubor uložte a zavřete.
bind 127.0.0.1 192.168.1.10
Ujistěte se, že jste nahradili 192.168.1.10 svou IP adresou.
Restartujte server Redis, aby se změny projevily.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Použijte následující netstat
příkaz k ověření, že server Redis naslouchá na vašem rozhraní serveru na portu 6379.
netstat -antup | grep -i 6379
Měli byste vidět něco jako níže.
tcp 0 0 10.142.0.10:6379 0.0.0.0:* LISTEN 2081/redis-server 1
ČTĚTE :Příkaz netstat nebyl nalezen v CentOS 7 / RHEL 7 – Rychlá oprava
ČTĚTE :Příkaz netstat nebyl nalezen v Debian / Ubuntu / Linux Mint – rychlá oprava
Firewall (CentOS / RHEL)
Budete muset přidat pravidlo brány firewall, které povolí provoz ze vzdálených počítačů na server Redis na portu TCP 6379 v případě, že jste povolili vzdálený přístup.
Spusťte následující příkazy v terminálu
firewall-cmd --permanent --add-port=6379/tcp firewall-cmd --reload
Ověřte vzdálený přístup
Chcete-li ověřit, zda je vzdálený přístup správně nastaven, můžete zkusit ping na server Redis ze vzdáleného počítače pomocí redis-cli
(rozhraní příkazového řádku).
redis-cli -h <REDIS_IP_ADDRESS> ping
Příkaz by měl vrátit PONG.
PONG
Nastavení replikace Redis Master/Slave
Na hlavním uzlu
Krok 1: Nainstalujte Redis
Krok 2:Konfigurace vzdáleného přístupu
Na Slave Node
Krok 1: Nainstalujte Redis
Konfigurovat Slave
Nakonfigurujte podřízenou instanci přidáním replicaof
direktivu do redis.conf
pro nastavení replikace.
### CentOS 7 / RHEL 7 ### vi /etc/redis.conf ### Ubuntu 18.04 / Ubuntu 16.04 ### sudo nano /etc/redis/redis.conf
Znovu nahraďte 192.168.1.10 IP adresou hlavního uzlu.
replicaof 192.168.1.10 6379
Restartujte službu.
### CentOS 7 / RHEL 7 ### systemctl restart redis ### Ubuntu 18.04 / Ubuntu 16.04 ### systemctl restart redis-server
Ověřte replikaci Reds Master/Slave
Otestujte, zda replikace funguje. Na hlavním uzlu spusťte redis-cli a spusťte příkaz set 'name' Raj
.
redis-cli 127.0.0.1:6379> set 'name' Raj
Výstup:
OK
Ukončete výzvu redis-cli zadáním exit nebo stisknutím Ctrl-C.
Dále spusťte redis-cli na podřízeném uzlu a spusťte get 'name'
, který by měl vrátit stejnou hodnotu jako na hlavním serveru.
redis-cli 127.0.0.1:6379> get 'name'
Výstup:
"Raj"
Tento výstup potvrzuje, že nastavení replikace master/slave funguje správně.
Chcete-li se dozvědět více o tom, jak používat Redis, navštivte oficiální dokumentaci Redis stránku.
To je vše.