Redis je bezplatné úložiště datových struktur v paměti s otevřeným zdrojovým kódem používané jako zprostředkovatel zpráv a mezipaměť databáze. Můžete jej použít se streamovacími řešeními, jako je Apache Kafka, ke zpracování a analýze dat v reálném čase s latencí nižší než milisekundy. Redis podporuje mnoho datových struktur včetně hashů, řetězců, hyperlogů, bitmap, geoprostorových indexů, tříděných seznamů a dalších. Je populární díky své široké jazykové podpoře, vysoké dostupnosti a automatickému rozdělování.
V tomto příspěvku vám ukážeme, jak nainstalovat a nakonfigurovat Redis 6 na Debian 11.
Předpoklady
- Server se systémem Debian 11.
- Na serveru je nakonfigurováno heslo uživatele root.
Instalovat Redis 6 na Debian 11
Nejnovější verze Redis není součástí výchozího úložiště Debian 11. Budete jej tedy muset nainstalovat z oficiálního úložiště Redis.
Nejprve nainstalujte všechny požadované závislosti pomocí následujícího příkazu:
apt-get install wget curl gnupg -y
Dále stáhněte a přidejte klíč GPG pomocí následujícího příkazu:
curl https://packages.redis.io/gpg | apt-key add -
Dále přidejte oficiální úložiště Redis pomocí následujícího příkazu:
echo "deb https://packages.redis.io/deb $(lsb_release -cs) main" | tee /etc/apt/sources.list.d/redis.list
Dále aktualizujte mezipaměť úložiště a nainstalujte Redis pomocí následujícího příkazu:
apt-get update -y
apt-get install redis-server -y
Jakmile je Redis nainstalován, ověřte instalaci Redis pomocí následujícího příkazu:
apt-cache policy redis-server
Informace o balíčku Redis byste měli vidět v následujícím výstupu:
redis-server:
Installed: 6:6.2.6-3rl1~bullseye1
Candidate: 6:6.2.6-3rl1~bullseye1
Version table:
*** 6:6.2.6-3rl1~bullseye1 500
500 https://packages.redis.io/deb bullseye/main amd64 Packages
100 /var/lib/dpkg/status
6:6.0.16-3rl1~bullseye1 500
500 https://packages.redis.io/deb bullseye/main amd64 Packages
5:6.0.16-1+deb11u1 500
500 http://security.debian.org/debian-security bullseye-security/updates/main amd64 Packages
5:6.0.15-1 500
500 http://debian.gtisc.gatech.edu/debian bullseye/main amd64 Packages
Spravovat službu Redis
Službu Redis můžete spravovat pomocí systemd.
Chcete-li spustit službu Redis, spusťte následující příkaz:
systemctl start redis-server
Chcete-li povolit spuštění služby Redis při restartování systému, spusťte následující příkaz:
systemctl enable redis-server
Chcete-li zkontrolovat stav služby Redis, spusťte následující příkaz:
systemctl status redis-server
Měli byste vidět následující výstup:
? redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; disabled; vendor preset: enabled)
Active: active (running) since Sun 2021-11-28 07:15:00 UTC; 19s ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Main PID: 9079 (redis-server)
Status: "Ready to accept connections"
Tasks: 5 (limit: 4679)
Memory: 7.2M
CPU: 82ms
CGroup: /system.slice/redis-server.service
??9079 /usr/bin/redis-server 127.0.0.1:6379
Nov 28 07:15:00 debian11 systemd[1]: Starting Advanced key-value store...
Nov 28 07:15:00 debian11 systemd[1]: Started Advanced key-value store.
Redis standardně naslouchá na portu 6379. Můžete to zkontrolovat pomocí následujícího příkazu:
ss -antpl | grep redis
Získáte následující výstup:
LISTEN 0 511 127.0.0.1:6379 0.0.0.0:* users:(("redis-server",pid=9079,fd=6))
LISTEN 0 511 [::1]:6379 [::]:* users:(("redis-server",pid=9079,fd=7))
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Konfigurovat Redis
Ve výchozím nastavení Redis naslouchá localhost. Pokud chcete připojit Redis ze vzdáleného hostitele, budete muset povolit Redis pro vzdálené připojení.
Chcete-li to provést, upravte konfigurační soubor Redis pomocí svého oblíbeného editoru:
nano /etc/redis/redis.conf
Zakomentujte následující řádek:
#bind 127.0.0.1 -::1
Dále nastavte heslo Redis, jak je znázorněno níže:
requirepass securepassword
Dále změňte následující řádek:
appendonly yes appendfilename "appendonly.aof"
Uložte a zavřete soubor a poté restartujte službu Redis, aby se změny projevily:
systemctl restart redis-server
Jakmile budete hotovi, můžete přejít k dalšímu kroku.
Připojit k instanci Redis
K připojení serveru Redis z místního nebo vzdáleného počítače můžete použít nástroj příkazového řádku redis-cli.
Spusťte následující příkaz pro připojení k instanci Redis:
redis-cli
Jakmile se připojíte, získáte následující shell:
127.0.0.1:6379>
Nyní ověřte Redis pomocí hesla, jak je uvedeno níže:
127.0.0.1:6379> auth securepassword
Dále zkontrolujte server pomocí následujícího příkazu:
127.0.0.1:6379> INFO Server
Získáte následující informace:
# Server redis_version:6.2.6 redis_git_sha1:00000000 redis_git_dirty:0 redis_build_id:557672d61c1e18ba redis_mode:standalone os:Linux 5.10.0-8-amd64 x86_64 arch_bits:64 multiplexing_api:epoll atomicvar_api:atomic-builtin gcc_version:10.2.1 process_id:10828 process_supervised:systemd run_id:b5ce185f0d4783dd3ddab8cabd38b0ee0263637b tcp_port:6379 server_time_usec:1638085497530445 uptime_in_seconds:32 uptime_in_days:0 hz:10 configured_hz:10 lru_clock:10695545 executable:/usr/bin/redis-server config_file:/etc/redis/redis.conf io_threads_active:0
Nyní ukončete instanci Redis pomocí následujícího příkazu:
127.0.0.1:6379> exit
Doporučuje se provést benchmark Redis a otestovat jeho výkon.
Spusťte následující příkaz a otestujte Redis s 10 paralelními připojeními pro celkem 2 000 požadavků:
redis-benchmark -h 127.0.0.1 -p 6379 -n 2000 -c 10 -a securepassword
Získáte následující výstup:
====== PING_INLINE ======
2000 requests completed in 0.05 seconds
10 parallel clients
3 bytes payload
keep alive: 1
host configuration "save": 3600 1 300 100 60 10000
host configuration "appendonly": no
multi-thread: no
Latency by percentile distribution:
0.000% <= 0.071 milliseconds (cumulative count 1)
50.000% <= 0.159 milliseconds (cumulative count 1090)
75.000% <= 0.207 milliseconds (cumulative count 1507)
87.500% <= 0.303 milliseconds (cumulative count 1769)
93.750% <= 0.359 milliseconds (cumulative count 1880)
96.875% <= 0.415 milliseconds (cumulative count 1942)
98.438% <= 0.455 milliseconds (cumulative count 1971)
99.219% <= 0.495 milliseconds (cumulative count 1985)
99.609% <= 0.791 milliseconds (cumulative count 1993)
99.805% <= 0.919 milliseconds (cumulative count 1997)
99.902% <= 1.031 milliseconds (cumulative count 1999)
99.951% <= 1.103 milliseconds (cumulative count 2000)
100.000% <= 1.103 milliseconds (cumulative count 2000)
Summary:
throughput summary: 35714.29 requests per second
latency summary (msec):
avg min p50 p95 p99 max
0.239 0.096 0.231 0.343 0.439 0.727
Chcete-li získat další možnosti příkazového řádku, spusťte následující příkaz:
redis-benchmark --help
Závěr
Ve výše uvedeném příspěvku jsme vysvětlili, jak nainstalovat a nakonfigurovat Redis 6 na serveru Debian 11. Nyní můžete implementovat Redis v produkčním prostředí a používat jej jako zprostředkovatele zpráv nebo pro ukládání dat do mezipaměti pro rychlejší načítání. Pokud máte nějaké dotazy, neváhejte se mě zeptat.