RDB-Pysyvyys
Vaikka Redis tunnetaan muistissa toimivana tietovarastona, persistenssi mahdollistaa datan tallentamisen levylle suojaten sitä menetykseltä esimerkiksi palvelimen kaatumisen yhteydessä. Tässä käsitellään Redisin tärkeimmät persistenssimenetelmät, niiden asetukset ja käytännön sovellukset.
RDB-persistenssi
RDB (Redis Database) luo täydellisen tilannevedoksen Redis-datasta tietyin aikavälein. Tämä menetelmä soveltuu tilanteisiin, joissa nopeus on tärkeää ja satunnainen datan menetys on hyväksyttävää.
Kuten kaaviossa esitetään, Redis luo säännöllisesti tilannevedoksia datasta ja tallentaa ne levylle. Tämä auttaa minimoimaan datan menetyksen ja yksinkertaistaa tietokannan tilan palauttamista uudelleenkäynnistyksen yhteydessä.
Snapshot-luonnin tiheys voidaan määrittää redis.conf-tiedostossa.
Näkeminen ja muokkaaminen redis.conf-tiedostolle macOS-järjestelmässä:
cat /opt/homebrew/etc/redis.conf
redis.conf-tiedoston tarkastelu Windowsissa onnistuu avaamalla hakemisto, johon Redis on asennettu, ja käyttämällä redis.windows.conf-tiedostoa.
Tiedoston avaamisen jälkeen näet oletusarvoiset snapshot-asetukset kuten:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Yllä olevassa esimerkissä Redis tallentaa datan seuraavien kriteerien perusteella:
- Joka 900 sekunti (15 minuuttia), jos vähintään yhtä avainta on muokattu;
- Joka 300 sekunti (5 minuuttia), jos vähintään 10 avainta on muokattu;
- Joka 60 sekunti, jos vähintään 10 000 avainta on muokattu.
Tietojen tallennuksen tiheys levylle määrittää kestävyyden tason. Esimerkiksi, jos tiedot tallennetaan joka 5. minuutti ja virhe tapahtuu muutama minuutti viimeisen tallennuksen jälkeen, kyseisen ajanjakson aikana tehdyt tietomuutokset menetetään. Siksi on tärkeää valita tallennusväli huolellisesti.
Miten se toimii
Redis tallentaa tietokannan tilan .rdb-tiedostoon määritetyin välein. Kun palvelin käynnistetään uudelleen, tiedot palautetaan viimeksi tallennetusta tiedostosta.
Hyödyt ja haitat
RDB vaikuttaa vain vähän suorituskykyyn ja käyttää tiivistä tallennusmuotoa. On kuitenkin olemassa riski, että tiedot lisäysten ja tilannekuvien välillä menetetään.
Tilannekuvan luominen manuaalisesti
Käyttäjät voivat myös käynnistää RDB-tilannekuvan SAVE-komennolla. Tämä komento estää Redis-palvelimen, joten sen käyttöä tulisi välttää. Sen sijaan tulisi käyttää BGSAVE-komentoa, joka luo lapsiprosessin ottamaan tilannekuvan taustalla.
1. Mitä RDB-menetelmä tekee Redisissä?
2. Mikä on RDB-menetelmän etu?
Kiitos palautteestasi!
Kysy tekoälyä
Kysy tekoälyä
Kysy mitä tahansa tai kokeile jotakin ehdotetuista kysymyksistä aloittaaksesi keskustelumme
What are the main differences between RDB and other Redis persistence methods?
How do I configure the snapshot intervals for RDB in redis.conf?
Can you explain when to use the SAVE vs BGSAVE commands?
Mahtavaa!
Completion arvosana parantunut arvoon 3.33
RDB-Pysyvyys
Pyyhkäise näyttääksesi valikon
Vaikka Redis tunnetaan muistissa toimivana tietovarastona, persistenssi mahdollistaa datan tallentamisen levylle suojaten sitä menetykseltä esimerkiksi palvelimen kaatumisen yhteydessä. Tässä käsitellään Redisin tärkeimmät persistenssimenetelmät, niiden asetukset ja käytännön sovellukset.
RDB-persistenssi
RDB (Redis Database) luo täydellisen tilannevedoksen Redis-datasta tietyin aikavälein. Tämä menetelmä soveltuu tilanteisiin, joissa nopeus on tärkeää ja satunnainen datan menetys on hyväksyttävää.
Kuten kaaviossa esitetään, Redis luo säännöllisesti tilannevedoksia datasta ja tallentaa ne levylle. Tämä auttaa minimoimaan datan menetyksen ja yksinkertaistaa tietokannan tilan palauttamista uudelleenkäynnistyksen yhteydessä.
Snapshot-luonnin tiheys voidaan määrittää redis.conf-tiedostossa.
Näkeminen ja muokkaaminen redis.conf-tiedostolle macOS-järjestelmässä:
cat /opt/homebrew/etc/redis.conf
redis.conf-tiedoston tarkastelu Windowsissa onnistuu avaamalla hakemisto, johon Redis on asennettu, ja käyttämällä redis.windows.conf-tiedostoa.
Tiedoston avaamisen jälkeen näet oletusarvoiset snapshot-asetukset kuten:
save 900 1 # save if at least 1 write operation occurred in the last 15 minutes.
save 300 10 # save if at least 10 write operations occurred in the last 5 minutes.
save 60 10000 # save if at least 10,000 write operations occurred in the last 1 minute.
Yllä olevassa esimerkissä Redis tallentaa datan seuraavien kriteerien perusteella:
- Joka 900 sekunti (15 minuuttia), jos vähintään yhtä avainta on muokattu;
- Joka 300 sekunti (5 minuuttia), jos vähintään 10 avainta on muokattu;
- Joka 60 sekunti, jos vähintään 10 000 avainta on muokattu.
Tietojen tallennuksen tiheys levylle määrittää kestävyyden tason. Esimerkiksi, jos tiedot tallennetaan joka 5. minuutti ja virhe tapahtuu muutama minuutti viimeisen tallennuksen jälkeen, kyseisen ajanjakson aikana tehdyt tietomuutokset menetetään. Siksi on tärkeää valita tallennusväli huolellisesti.
Miten se toimii
Redis tallentaa tietokannan tilan .rdb-tiedostoon määritetyin välein. Kun palvelin käynnistetään uudelleen, tiedot palautetaan viimeksi tallennetusta tiedostosta.
Hyödyt ja haitat
RDB vaikuttaa vain vähän suorituskykyyn ja käyttää tiivistä tallennusmuotoa. On kuitenkin olemassa riski, että tiedot lisäysten ja tilannekuvien välillä menetetään.
Tilannekuvan luominen manuaalisesti
Käyttäjät voivat myös käynnistää RDB-tilannekuvan SAVE-komennolla. Tämä komento estää Redis-palvelimen, joten sen käyttöä tulisi välttää. Sen sijaan tulisi käyttää BGSAVE-komentoa, joka luo lapsiprosessin ottamaan tilannekuvan taustalla.
1. Mitä RDB-menetelmä tekee Redisissä?
2. Mikä on RDB-menetelmän etu?
Kiitos palautteestasi!