Redis Strings selitetty
Merkkijonot ovat Redis-tietokannan yksinkertaisin ja perustavin tietorakenne. Redis-merkkijonot ovat turvallisia tavuja. Ne ovat paljon kuin tavalliset merkkijonot, jotka ovat saatavilla ohjelmointikielissä, kuten Java ja c#.net. Mikä tärkeintä, Redis-merkkijonoja voidaan käyttää lähes kaiken, mistä pidät, kuten merkkijonojen, kokonaislukujen, sarjamuotoisten JSON-tiedostojen, XML-tiedostojen ja binääriarvojen tallentamiseen. Koska Redis-merkkijonotietotyyppi on binääriturvallinen, binääriobjekteja, kuten kuvia, videoita ja asiakirjoja, voidaan helposti tallentaa merkkijonojen avulla. Lisäksi yksi Redis-merkkijono voi sisältää tietoja enintään 512 megatavua.
Lisäksi Redis-merkkijonotietorakennetta käytetään yleisesti seuraavissa käyttötapauksissa:
- Välimuisti
- Istunnon tallennus
- API-vastaukset
- HTML-sivut
- Laskuri
- Bittikartan toteutus ja bittikohtaiset toiminnot
Yleisimmin käytetyt merkkijonotoiminnot ovat SET, GET, MGET ja SETNX. INCRBY- ja INCRBYFLOAT-komentoja käytetään yleisesti Redis-merkkijonotietorakenteen avulla toteutettujen laskurien hallintaan. Tässä opetusohjelmassa MGET-komento on yksityiskohtainen.
MGET-komento paljastettiin
MGET-komentoa käytetään annettujen Redis-avainten arvojen hakemiseen. Se hyväksyy yhden tai useamman avaimen argumentteina. Lisäksi MGET-komento toimii O(N)-aikakompleksisuudella, jossa N on määritettyjen avainten lukumäärä. MGET-komennon syntaksi on seuraava:
MGET-avain [ avain... ]
Kun MGET-komento suoritetaan, se palauttaa joukon arvoja, jotka on tallennettu määritettyihin Redis-avaimiin. Jos avainta ei ole, se palauttaa erikoisarvon nolla. Vastaavasti, jos avaimessa ei ole merkkijonoarvoa, a nolla arvo palautetaan.
Käyttötapaus: Hae kaikki välimuistissa olevat API-vastaukset
Oletetaan skenaario, jossa Redis-merkkijonotietotyyppiä käytetään toteuttamaan välimuisti, joka sisältää viimeisimmät API-vastaukset. Käytämme SET-komentoa tallentaaksemme joitain näennäisiä API-vastauksia esittelytarkoituksiin.
aseta dummyhost / Asiakkaat 'ricky, bernard, mary, samuel, joe' aseta dummyhost / toimittajia 'Jimmy, jeremy, Andrew, hera' aseta dummyhost / laskut '{'laskut': [{'laskun_tunnus': 1, 'laskun_maksu': 1000}, {'laskun_tunnus': 2, 'laskun_maksu': 3400}]}'
Tallennamme pari merkkijonoarvoa ja sarjoitetun JSON-objektin käyttämällä Redis-merkkijonotietotyyppiä.
Käytä nyt MGET-komentoa hakemaan kaikki vastaukset jokaisessa API-kutsussa kerralla.
mget dummyhost / asiakkaiden dummyhost / toimittajat dummyhost / laskut
Lähtö:
1 ) 'ricky, bernard, mary, samuel, joe'kaksi ) 'Jimmy, jeremy, Andrew, hera'
3 ) '{' laskut ': [{' laskun_tunnus ': 1,' lasku_maksu ':1000}, {' laskun_tunnus ': kaksi,' lasku_maksu ':3400}]}'
Kuten odotettiin, kunkin avaimen arvot palautetaan taulukkona.
Ei-olemassa olevan avaimen määrittäminen
Kuten mainittiin, MGET-komento palauttaa erikoisarvon nolla kun toimitetaan olematon avain. Määritetään MGET-komennolle ei-olemassa oleva avain nimeltä 'nonexistingkey' ja suoritetaan edellinen esimerkki seuraavasti:
mget dummyhost / asiakkaiden dummyhost / toimittajat dummyhost / laskut, joita ei ole olemassa
Kuten näet, taulukon viimeinen arvo on nolla joka liittyy olemattomaan Redis-avaimeen.
Kaiken kaikkiaan MGET-komento on ihanteellinen ehdokas, kun meidän on noudettava useille avaimille tallennetut merkkijonoarvot yhdessä kutsussa sen sijaan, että kutsuttaisiin GET-komentoa useita kertoja.
Johtopäätös
Yhteenvetona voidaan todeta, että MGET-komento toimii Redis-merkkijonotietorakenteessa palauttaakseen useille avaimille tallennetut arvot yhdessä kutsussa. Se hyväksyy yhden tai useamman Redis-avaimen argumentteina. Kuten on korostettu, MGET-komento toimii O(N)-ajan monimutkaisuuden mukaan. Käyttötapaus osoitti, kuinka voit käyttää MGET-komentoa useiden useille avaimille tallennettujen API-vastausten noutamiseen tehokkaasti.