Redis är en kraftfull datastrukturbutik i minnet som ofta används som databas-, cache- och meddelandeförmedlare. Redis är känt för sin höga prestanda och mångsidighet och stöder olika datastrukturer som strängar, hash, listor, uppsättningar och mer, vilket gör det till ett populärt val för applikationer som kräver snabb dataåtkomst och realtidsanalys.
På Ubuntu 24.04, 22.04 eller 20.04 kan Redis installeras med två huvudmetoder. Den första metoden är via Ubuntus standardförråd, som ger en stabil version som är väl integrerad med systemets pakethantering. Alternativt, för användare som behöver den senaste versionen med de senaste funktionerna och uppdateringarna, kan Redis installeras med Redis APT-spegelförrådet. Den här guiden går igenom båda installationsmetoderna och hjälper dig att välja det bästa tillvägagångssättet för dina behov.
Metod 1: Installera Redis via APT Default Repository
Uppdatera Ubuntu före Redis-installation
Innan du installerar Redis är det viktigt att se till att ditt systems paket är uppdaterade. Detta steg hjälper till att undvika konflikter som kan uppstå under installationsprocessen. För att uppdatera ditt Ubuntu-system, kör följande kommando:
sudo apt update && sudo apt upgrade
Det här kommandot hämtar den senaste paketinformationen från arkiven och uppgraderar eventuella föråldrade paket på ditt system.
Installera Redis via APT Command
Som standard ingår Redis-paketet i Ubuntu-förvaret, som du kan installera med följande kommando:
sudo apt install redis
Detta kommando kommer att ladda ner och installera Redis-paketet och dess beroenden på ditt system.
Verifiera Redis-installationen
Nu när du har installerat Redis är det avgörande att verifiera installationen, eftersom du måste kontrollera den installerade versionen. Detta steg säkerställer att Redis har installerats korrekt och fungerar som förväntat.
För att verifiera Redis-installationen, kör följande kommando:
redis-cli --version
Detta kommando visar Redis-versionen installerad på ditt system. Om utgången visar Redis-versionen, bekräftar den att installationen lyckades.
Metod 2: Installera Redis via Redis.io APT PPA
Uppdatera Ubuntu före Redis-installation med Redis.io
Innan du fortsätter med Redis-installationen, uppdatera ditt systems paket för att säkerställa kompatibilitet och förhindra konflikter:
sudo apt update && sudo apt upgrade
Installera initiala paket för Redis.io PPA
För att slutföra installationen måste du installera några nödvändiga programvarupaket. Utför följande kommando för att installera dem:
sudo apt install software-properties-common apt-transport-https curl ca-certificates curl -y
Dessa paket krävs för att lägga till Redis.io-förvaret och säkert hämta paketinformation.
Importera Redis.io APT Repository
Importera först GPG-nyckeln för att autentisera paketen:
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
Lägg sedan till Redis.io-förvaret till ditt system:
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
Uppdatera paketlistan efter Redis.io PPA-import
Uppdatera din källlista så att den inkluderar det nyligen tillagda Redis.io-förrådet:
sudo apt update
Slutför Redis PPA-installation via terminalkommando
Nu kan du installera Redis från Redis.io-förvaret. Om du redan har Redis installerat kommer detta kommando att uppgradera det:
sudo apt install redis-server redis-tools
Verifierar Redis-installationen
För att säkerställa att du har installerat Redis.io-versionen, använd kommandot apt-cache policy:
apt-cache policy redis-server
Kontrollera att utdata indikerar rätt version.
Aktivera och starta sedan Redis-tjänsten:
sudo systemctl enable redis-server --now
Kontrollera statusen för Redis-tjänsten och se till att den körs utan fel:
systemctl status redis-server
Redis bör aktivt lyssna på localhost på standardporten 6379. För att bekräfta detta, kör följande kommando:
ps -ef | grep redis
Exempel på utdata:
redis 4171 1 0 23:35 ? 00:00:00 /usr/bin/redis-server 127.0.0.1:6379
joshua 4702 4691 0 23:36 pts/0 00:00:00 grep --color=auto redis
Testa Redis-anslutningen
För att testa din Redis-installation, anslut till Redis-tjänsten med kommandot redis-cli:
redis-cli
När den är ansluten kommer din terminal att visa 127.0.0.1:6379. Utför ett pingtest för att säkerställa korrekt kommunikation med Redis-tjänsten:
ping
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
Utgången ska vara "PONG", vilket indikerar en lyckad anslutning. För att avsluta Redis-instansen, skriv:
exit
Grattis! Du har framgångsrikt installerat Redis på ditt system och verifierat att det fungerar. Du kan nu fortsätta att konfigurera Redis efter behov.
Snabb genomgång av konfigurering av Redis
Redis är ett mångsidigt verktyg som kan konfigureras på olika sätt för att passa olika användningsfall. Det här avsnittet guidar dig genom att konfigurera Redis för cachelagring, nätverksåtkomst och ställa in ett lösenord för ökad säkerhet.
Redigera Redis-konfigurationsfilen
För att börja konfigurera Redis, öppna filen /etc/redis/redis.conf med nanoredigeraren:
sudo nano /etc/redis.conf
Konfigurera Max Memory för Redis
En av de främsta anledningarna till att människor använder Redis är för cachning. För att allokera en specifik mängd minne för Redis-cache, lägg till följande rader i slutet av konfigurationsfilen:
maxmemory 500mb
maxmemory-policy allkeys-lru
I det här exemplet har vi dedikerat 500 MB minne till Redis. Du kan justera detta värde baserat på din servers hårdvara och applikationskrav. När det tilldelade minnet är förbrukat kommer Redis att ta bort nycklar baserat på algoritmen Least Recently Used (LRU).
Konfigurera nätverksåtkomst för Redis
Som standard lyssnar Redis bara på det lokala värdgränssnittet. Du kan konfigurera den för att lyssna på alla nätverksgränssnitt eller specifika IP-adresser/undernät.
Först, lokalisera rad 69 i konfigurationsfilen.
Alternativ 1: Lyssna på alla nätverksgränssnitt
För att lyssna på alla nätverksgränssnitt, kommentera "bind"-raden genom att lägga till en #
i början:
# bind 127.0.0.1 ::1
Alternativ 2: Bind till en specifik IP-adress eller subnät
För att binda Redis till en specifik IP-adress eller subnät, ersätt "bind"-raden med önskat IP- eller subnät:
bind 0.0.0.0/0
eller
bind 192.150.5.0/24
Obs: När du binder Redis till en IP-adress eller subnät, rekommenderas starkt att ställa in ett lösenord för ökad säkerhet.
Konfigurera lösenord för Redis
För att ytterligare säkra din Redis-instans, ställ in ett lösenord för autentisering.
Hitta raden som börjar med # requirepass (runt rad 507), avkommentera den och ange ett starkt lösenord:
requirepass YourStrongPasswordHere
Ersätt YourStrongPasswordHere med ett robust lösenord som innehåller en blandning av stora bokstäver, gemener, siffror och specialsymboler.
Efter att ha ställt in ett lösenord måste du använda auth-kommandot med lösenordet när du ansluter till Redis med redis-cli:
redis-cli
auth YourStrongPasswordHere
Användare som misslyckas med att autentisera kommer att få ett felmeddelande: (fel) NOAUTH-autentisering krävs. Efter framgångsrik autentisering kommer användarna att se ett OK-meddelande.
Spara ändringar och starta om Redis
När du har gjort de nödvändiga ändringarna i konfigurationsfilen, spara dina ändringar genom att trycka på Ctrl + O, och avsluta sedan nanoredigeraren genom att trycka på Ctrl + X. Starta slutligen om Redis-tjänsten för att tillämpa de nya inställningarna:
Konfigurera Redis UFW-brandväggsregler
När du använder Redis, särskilt om du har konfigurerat den för att lyssna på specifika IP-adresser eller subnät, är det avgörande att se till att din brandvägg tillåter inkommande anslutningar på TCP-porten 6379. Det här avsnittet kommer att diskutera konfigurering av UFW-regler (Uncomplicated Firewall) för att tillåta Redis-anslutningar.
Se till att UFW är installerat och aktiverat
Se först till att UFW är installerat på ditt system:
sudo apt install ufw -y
Aktivera sedan UFW om det inte redan är:
sudo ufw enable
Skapa UFW-regler för Redis
Beroende på dina krav och nätverksinställningar kan du behöva skapa regler för en enskild serverinstans eller flera instanser i ett kluster.
Alternativ 1: Tillåt åtkomst från en specifik IP-adress
Om du behöver tillåta åtkomst till Redis från en enda server, skapa en UFW-regel för den specifika IP-adressen:
sudo ufw allow proto tcp from <ip address> to any port 6379
Ersätta med rätt IP-adress.
Alternativ 2: Tillåt åtkomst från ett undernät
Om du har ett klusternätverk med flera instanser kan du skapa en UFW-regel för att tillåta åtkomst från ett helt undernät:
sudo ufw allow proto tcp from <ip address>/24 to any port 6379
Ersätta med rätt subnäts IP-adress. Innan du använder den här regeln, se till att ditt interna nätverk är säkert och pålitligt.
Testa Redis Connectivity
Efter att ha konfigurerat dina UFW-regler, testa din Redis-tjänst för att säkerställa att den fungerar och är tillgänglig från de tillåtna IP-adresserna eller subnäten. Använd kommandot redis-cli med flaggan -h, följt av IP-adressen du vill ansluta till:
redis-cli -h <ip address> ping
Ersätta med rätt IP-adress. Om konfigurationen är korrekt bör du få ett "pong"-svar.
pong
Ytterligare Redis-konfigurationsalternativ
Redis är en mångsidig och funktionsrik datastrukturbutik i minnet som främst används för cachelagring, meddelandeförmedling och mer. I det här avsnittet kommer vi att utforska ytterligare konfigurationsalternativ för Redis som kan hjälpa dig att skräddarsy dess prestanda och beteende efter dina specifika behov genom att ändra Redis-konfigurationsfilen.
Konfigurera nyckel-värde utgångspolicy för Redis
I Redis-konfigurationsfilen kan du ställa in en standardtid-till-levetid (TTL) för nycklar genom att ändra inställningarna för maxmemory-policy och maxmemory-samples. Öppna filen /etc/redis/redis.conf med nanoredigeraren:
sudo nano /etc/redis/redis.conf
Hitta maxmemory-policyinställningen och konfigurera den efter önskemål. Om du till exempel vill ställa in policyn så att nycklar löper ut med den minst nyligen använda (LRU) algoritmen, uppdaterar du konfigurationen enligt följande:
maxmemory-policy volatile-lru
Hitta nu inställningen för maxmemory-samples och konfigurera antalet prover Redis ska kontrollera för att fatta beslutet om vräkning:
maxmemory-samples 5
Konfigurera TCP Keepalive For Redis
TCP keepalive kan hjälpa till att upptäcka och stänga lediga anslutningar, vilket frigör resurser. För att aktivera TCP keepalive, hitta tcp-keepalive-inställningen i filen /etc/redis/redis.conf:
tcp-keepalive 300
I det här exemplet ställer vi in keepalive-intervallet till 300 sekunder. Justera värdet enligt dina krav.
Konfigurera långsam loggövervakning för Redis
Långsamma loggar kan hjälpa till att identifiera prestandaproblem genom att logga frågor som tar längre tid än en angiven tid. För att konfigurera långsamma loggar, hitta inställningarna slowlog-log-slower-than och slowlog-max-len i filen /etc/redis/redis.conf:
slowlog-log-slower-than 10000
slowlog-max-len 128
I det här exemplet sätter vi tröskeln för långsam loggning till 10 000 mikrosekunder (10 millisekunder) och begränsar den långsamma loggen till de 128 senaste posterna. Justera dessa värden efter dina behov.
Konfigurera Redis-händelsemeddelanden för Redis
Redis kan generera aviseringar för specifika händelser, vilket kan vara till hjälp för övervakning och felsökning. För att aktivera händelseaviseringar, hitta inställningen notify-keyspace-events i filen /etc/redis/redis.conf:
notify-keyspace-events ExA
I det här exemplet konfigurerar vi Redis för att skicka meddelanden om utgångna och vräkta nycklar. Den officiella Redis-dokumentationen ger mer information om händelseaviseringar och tillgängliga alternativ.
Konfigurera Redis-loggningsnivå för Redis
Att justera Redis-loggningsnivån kan hjälpa dig att samla in rätt mängd information för felsökning och övervakning. För att ställa in loggningsnivån, hitta loggnivåinställningen i filen /etc/redis/redis.conf:
loglevel notice
I det här exemplet ställer vi in loggningsnivån till "notice", vilket är standardnivån. Du kan välja mellan följande alternativ: felsöka, utförligt, meddelande och varning. Justera loggningsnivån efter dina krav.
När du har konfigurerat önskade alternativ, spara dina ändringar och starta om Redis:
sudo systemctl restart redis-server
Slutsats
Med Redis installerat på ditt Ubuntu-system får du tillgång till ett kraftfullt verktyg för att hantera data i minnet, vilket ger snabba och effektiva lagringslösningar för en mängd olika applikationer. Oavsett om du väljer stabiliteten hos Ubuntus standardförråd eller de senaste funktionerna från Redis APT-spegelförvaret, säkerställer båda metoderna att du har en robust installation. Genom att regelbundet uppdatera din Redis-inställning, särskilt när du använder APT-spegeln, kommer ditt system att fungera smidigt med de senaste funktionerna och säkerhetsförbättringarna. Njut av hastigheten och flexibiliteten som Redis ger din Ubuntu-miljö.