1. Home
  2. Knowledge Base
  3. Web Hosting
  4. Redis – structuri de date în memorie

Redis – structuri de date în memorie

Redis, care înseamnă Remote Dictionary Server, este un depozit de date rapid, open-source, în memorie cheie-valoare pentru utilizare ca bază de date, cache, broker de mesaje și coadă. Proiectul a început când Salvatore Sanfilippo, dezvoltatorul inițial al Redis, a încercat să îmbunătățească scalabilitatea startup-ului său italian. Redis oferă acum timpi de răspuns sub-milisecunde, permițând milioane de solicitări pe secundă pentru aplicații în timp real în jocuri, Ad-Tech, servicii financiare, asistență medicală și IoT. Redis este o alegere populară pentru cache, gestionarea sesiunilor, jocuri, clasamente, analize în timp real, geospațial, ride-hailing, chat / mesagerie, streaming media și aplicații pub / sub.

Cum acționează Redis?

Toate datele Redis se află în memorie, spre deosebire de bazele de date care stochează date pe disc sau SSD-uri. Prin eliminarea necesității de a accesa discuri, stocările de date în memorie, cum ar fi Redis, evită întârzierile de căutare și pot accesa datele în microsecunde. Redis oferă structuri de date versatile, disponibilitate ridicată, geospațială, scripting Lua, tranzacții, persistență pe disc și suport pentru cluster, ceea ce face mai simplă construirea de aplicații la scară de internet în timp real.

Redis vs Memcached

Atât Redis, cât și MemCached sunt stocări de date open-source în memorie. Memcached, un serviciu de memorie cache de memorie distribuită de înaltă performanță, este conceput pentru simplitate, în timp ce Redis oferă un set bogat de caracteristici care îl fac eficient pentru o gamă largă de cazuri de utilizare. Pentru o comparație mai detaliată a caracteristicilor pentru a vă ajuta să luați o decizie, vizualizați Redis vs Memcached. Lucrează cu baze de date relaționale sau cu valori cheie pentru a îmbunătăți performanța, cum ar fi MySQL, Postgres, Aurora, Oracle, SQL Server, DynamoDB și multe altele.

Ce este nou cu Redis 5.0

Redis 5, și acum Redis 5.0.3, este cea mai recentă versiune GA a Redis open-source. De la lansarea sa inițială în 2009, Redis open-source a evoluat dincolo de o tehnologie de cache într-un magazin de date ușor de utilizat, rapid, în memorie, care oferă structuri de date versatile și răspunsuri sub-milisecunde. Redis a atins o etapă majoră cu lansarea versiunii 5.0, care include o varietate de progrese și îmbunătățiri. Marea poveste aici este introducerea Stream-urilor, prima structură de date complet nouă din Redis de la HyperLogLog. Această versiune a adăugat, de asemenea, mai multe comenzi pentru seturile sortate și noi capacități pentru API-urile modulului.

Beneficiile Redis

In-memory data store

Toate datele Redis se află în memoria principală a serverului, spre deosebire de bazele de date precum PostgreSQL, Cassandra, MongoDB și altele care stochează majoritatea datelor pe disc sau pe SSD-uri. În comparație cu bazele de date tradiționale bazate pe disc, unde majoritatea operațiunilor necesită o călătorie dus-întors pe disc, stocările de date în memorie, cum ar fi Redis, nu suferă aceeași penalizare. Prin urmare, pot susține o ordine de mărime mai multe operațiuni și timpi de răspuns mai rapide. Rezultatul este o performanță rapidă, cu operații medii de citire sau scriere care durează mai puțin de o milisecundă și suport pentru milioane de operații pe secundă.

Structuri de date flexibile

Spre deosebire de magazinele de date simpliste cu valoare cheie care oferă structuri de date limitate, Redis are o mare varietate de structuri de date pentru a satisface nevoile aplicației dvs. Tipurile de date Redis includ:

  • Strings – date text sau binare cu dimensiuni de până la 512 MB
  • Liste – o colecție de șiruri în ordinea în care au fost adăugate
  • Seturi – o colecție neordonată de șiruri cu capacitatea de a intersecta, uni și difera alte tipuri de seturi
  • Seturi sortate – Seturi ordonate după o valoare
  • Hash – o structură de date pentru stocarea unei liste de câmpuri și valori
  • Bitmaps – un tip de date care oferă operații la nivel de biți
  • HyperLogLogs – o structură de date probabilistă pentru a estima elementele unice dintr-un set de date
Simplitate și ușurință în utilizare

Redis vă simplifică codul, permițându-vă să scrieți mai puține linii de cod pentru a stoca, accesa și utiliza datele în aplicațiile dvs. De exemplu, dacă aplicația dvs. are date stocate într-un hashmap și doriți să le stocați într-un magazin de date – puteți utiliza pur și simplu structura de date hash Redis pentru a stoca datele. O sarcină similară într-un magazin de date fără structuri de date hash ar necesita multe linii de cod pentru a converti de la un format la altul. Redis vine cu structuri de date native și multe opțiuni pentru a manipula și interacționa cu datele dvs. Peste o sută de clienți open source sunt disponibili pentru dezvoltatorii Redis. Limbile acceptate includ Java, Python, PHP, C, C ++, C #, JavaScript, Node.js, Ruby, R, Go și multe altele.

Replication și Data persistence

Redis folosește o arhitectură de replică primară și acceptă replicarea asincronă în care datele pot fi replicate pe mai multe servere de replici. Aceasta oferă performanțe de citire îmbunătățite (deoarece cererile pot fi împărțite între servere) și recuperare mai rapidă atunci când serverul primar are o întrerupere. Pentru persistență, Redis acceptă copiile de rezervă punctuale (copierea setului de date Redis pe disc).

High availability și scalabilitate

Redis oferă o arhitectură replică primară într-un singur nod primar sau o topologie clusterizată. Acest lucru vă permite să construiți soluții extrem de disponibile, oferind performanță și fiabilitate consecvente. Când trebuie să vă ajustați dimensiunea clusterului, sunt disponibile, de asemenea, diverse opțiuni pentru mărire și scară în sau în afara. Acest lucru permite clusterului dvs. să crească odată cu cerințele dvs.

Extensibilitate

Redis este un proiect open source susținut de o comunitate vibrantă. Nu există niciun furnizor sau blocare tehnologică, deoarece Redis se bazează pe standarde deschise, acceptă formate de date deschise și oferă un set bogat de clienți.

Cazuri populare de utilizare Redis

Caching

Redis este o alegere excelentă pentru implementarea unui cache în memorie extrem de disponibil pentru a reduce latența accesului la date, pentru a crește capacitatea de transfer și pentru a ușura încărcarea din baza de date și aplicația relațională sau NoSQL. Redis poate servi articole solicitate frecvent la timpi de răspuns sub-milisecunde și vă permite să scalați cu ușurință pentru sarcini mai mari, fără a crește backend-ul mai costisitor. Memorarea în cache a rezultatelor interogării bazei de date, stocarea în cache a sesiunii persistente, stocarea în cache a paginilor web și stocarea în cache a obiectelor utilizate frecvent, cum ar fi imagini, fișiere și metadate, sunt exemple populare de cache cu Redis.

Chat, mesagerie și queues

Redis acceptă Pub / Sub cu potrivirea modelelor și o varietate de structuri de date, cum ar fi liste, seturi sortate și hashuri. Acest lucru permite Redis să accepte camere de chat de înaltă performanță, fluxuri de comentarii în timp real, fluxuri de socializare și intercomunicare server. Structura de date Lista Redis facilitează implementarea unei cozi ușoare. Listele oferă operațiuni atomice, precum și capabilități de blocare, făcându-le potrivite pentru o varietate de aplicații care necesită un broker de mesaje de încredere sau o listă circulară.

Clasamente pentru jocuri

Redis este o alegere populară printre dezvoltatorii de jocuri care doresc să construiască clasamente în timp real. Pur și simplu utilizați structura de date Redis Sorted Set, care oferă unicitatea elementelor, menținând în același timp lista sortată după scorurile utilizatorilor. Crearea unei liste clasificate în timp real este la fel de ușoară ca actualizarea scorului unui utilizator de fiecare dată când se schimbă. De asemenea, puteți utiliza seturi sortate pentru a gestiona datele seriilor temporale utilizând marcaje temporale ca scor.

Stocare de sesiuni

Redis ca un magazin de date în memorie cu disponibilitate și persistență ridicată este o alegere populară printre dezvoltatorii de aplicații pentru a stoca și gestiona datele de sesiune pentru aplicații la scară de internet. Redis oferă latența sub-milisecundă, scara și reziliența necesare pentru gestionarea datelor de sesiune, cum ar fi profiluri de utilizator, acreditări, starea sesiunii și personalizarea specifică utilizatorului.

Streaming media bogat

Redis oferă un magazin de date rapid, în memorie, pentru a alimenta cazurile de utilizare în flux live. Redis poate fi utilizat pentru a stoca metadate despre profilurile utilizatorilor și istoricul de vizualizare, informații / jetoane de autentificare pentru milioane de utilizatori și fișiere manifest pentru a permite CDN-urilor să transmită videoclipuri către milioane de utilizatori de dispozitive mobile și desktop la un moment dat.

Geospațial

Redis oferă structuri de date în memorie și operatori pentru gestionarea datelor geospațiale în timp real la scară și viteză. Comenzi precum GEOADD, GEODIST, GEORADIUS și GEORADIUSBYMEMBER pentru a stoca, prelucra și analiza datele geospațiale în timp real fac geospațial ușor și rapid cu Redis. Puteți utiliza Redis pentru a adăuga aplicații funcțiile bazate pe locație, cum ar fi timpul de parcurs, distanța de parcurs și punctele de interes.

Învățare automată

Aplicațiile moderne bazate pe date necesită învățarea automată pentru a procesa rapid un volum masiv, varietate și viteză de date și automatiza luarea deciziilor. Pentru cazuri de utilizare precum detectarea fraudei în jocuri și servicii financiare, licitarea în timp real în tehnologia publicitară și potrivirea în întâlniri și partajarea călătoriei, capacitatea de a procesa date live și de a lua decizii în decurs de zeci de milisecunde este extrem de importantă. Redis vă oferă un magazin rapid de date în memorie pentru a construi, instrui și implementa modele de învățare automată rapid.

Analize în timp real

Redis poate fi utilizat cu soluții de streaming, cum ar fi Apache Kafka și Amazon Kinesis, ca un depozit de date în memorie pentru a ingera, prelucra și analiza date în timp real cu latență sub-milisecundă. Redis este o alegere ideală pentru cazuri de utilizare a analizelor în timp real, cum ar fi analiza rețelelor sociale, direcționarea anunțurilor, personalizarea și IoT.

Adaugă performanță pentru WordPress

Alege opțiunea Redis Cache la orice ofertă de Web Hosting și creează o instanță Cache de performanță pentru WordPress și WooCommerce

Updated on 22/07/2021

Was this article helpful?

Related Articles