Tehnoloģijas

← Sākums
Kešošana un reāllaiks

Redis — in-memory kešošana vietnēm un veikaliem

Redis ir ātruma slānis aiz vietnēm, veikaliem un mārketpleisiem, kas veidoti platformā 4buildsite: tas atmiņā (RAM) glabā tieši tos datus, kas jāpiegādā acumirklī — kešotās lapas, sesijas, grozus, ātruma limitus. Patiesības avots paliek PostgreSQL; Redis to aizsargā pie lielas datplūsmas. Tas ir iekļauts un pārvaldīts no platformas puses, bez jebkādas konfigurēšanas no tavas puses.

Kas ir Redis un kāpēc tas ir tik ātrs

Redis (REmote DIctionary Server) ir atvērtā koda in-memory datubāze: tā glabā datus RAM, nevis diskā, tāpēc atbild mazāk nekā milisekundē. Platformā 4buildsite to izmantojam kā paātrināšanas slāni pirms PostgreSQL — visam, kas jāpiegādā acumirklī: lapām, sesijām, grozim un ātruma limitiem.

Atšķirībā no diska, RAM ir par lielumkārtām ātrāks, bet Redis pievieno natīvas datu struktūras (string, hash, saraksts, set, sorted set, stream), kas ļauj veikt sarežģītas darbības tieši atmiņā, bez ceļojuma uz galveno datubāzi un atpakaļ. Komandu apstrāde ir single-threaded, tāpēc uzvedība ir paredzama un bez race conditions.

  • Tipiskais latentums zem 1 ms un vairāk nekā 100 000 darbību sekundē uz viena mezgla
  • Natīvas struktūras: hash sesijām, sorted set topiem un rate limiting, stream rindām
  • Single-threaded komandām → paredzama uzvedība, bez sarežģītām bloķēšanām

Kešošana: tavas lapas un dati, piegādāti no atmiņas

Stratēģija ir cache-aside: pirmais pieprasījums nolasa no PostgreSQL un saglabā rezultātu Redis ar TTL (dzīves laiku); nākamie pieprasījumi to ņem tieši no atmiņas. Kad rediģē lapu, atslēga tiek nepārprotami dzēsta, nevis paļaujoties uz aklu TTL.

Prezentācijas vietnei vai veikalam tas nozīmē, ka produktu saraksti, izvēlnes, populārās lapas un satura fragmenti tiek piegādāti no atmiņas pat pie lielas datplūsmas, neapgrūtinot datubāzi. Pīķos (kampaņa, Black Friday) Redis uzsūc atkārtotos pieprasījumus.

  • Cache-aside ar nepārprotamu atcelšanu — bez novecojušiem datiem
  • Atceras lapu fragmentus un vaicājumu rezultātus, ne tikai veselas lapas
  • Aizsargā PostgreSQL datplūsmas pīķos, samazinot tiešos vaicājumus

Sesijas, pirkumu grozs un aizsardzība pret ļaunprātīgu izmantošanu

Lietotāju sesijas un refresh token glabājas Redis: ātra autentifikācija, automātiska derīguma beigšanās ar TTL un tūlītēja atsaukšana visās ierīcēs, kad kāds izrakstās vai nomaina paroli.

Pirkumu grozs platformā 4buildsite veidotajos veikalos neautentificētiem apmeklētājiem tiek turēts Redis — ar derīguma termiņu, neuzpūšot galveno datubāzi. Arī rate limiting kontaktu veidlapām un pieteikšanās lapai veic Redis, izmantojot sorted sets, lai apturētu surogātpastu un brutālā spēka mēģinājumus, pirms tie nonāk līdz datubāzei.

  • Sesiju glabātuve ar automātisku derīguma beigšanos un selektīvu token atsaukšanu
  • Pastāvīgs grozs ar TTL anonīmiem apmeklētājiem
  • Rate limiting un aizsardzība pret ļaunprātīgu izmantošanu veidlapās un autentifikācijā

Reāllaiks un fona darbu rindas

Redis Pub/Sub un Streams nodrošina reāllaika atjauninājumus: krājums, kas samazinās tiešraidē, paziņojums lietotnē, pasūtījuma statuss, kas mainās — viss bez tā, ka apmeklētājam jāatsvaidzina lapa, un bez atkārtotas polling, kas nogurdina serveri.

Smagie uzdevumi (attēla apstrāde, eksporta ģenerēšana, sinhronizācija) nonāk Redis rindā, un tos fonā izpilda worker, lai apmeklētājs nebūtu jāgaida smagās apstrādes beigas. Sadalītās bloķēšanas mehānisms garantē, ka kritiska darbība netiek izpildīta divreiz.

  • Pub/Sub un Streams tiešraides notikumiem (krājums, pasūtījumi, paziņojumi)
  • Darbu rindas smagām apstrādēm, kas tiek izpildītas asinhroni
  • Sadalītā bloķēšana darbībām, kuras nedrīkst tikt izpildītas divreiz

Priekšrocības un ierobežojumi

Priekšrocības

  • Kešotie dati tiek piegādāti no atmiņas, bez vaicājuma uz galveno datubāzi
  • Samazina PostgreSQL slodzi pie lielas datplūsmas
  • Natīvas struktūras sesijām, grozam, rate limiting un topiem
  • Pub/Sub un Streams reāllaika funkcijām, bez polling
  • Darbu rindas smagām apstrādēm, nebloķējot apmeklētāju
  • Iekļauts un pārvaldīts no platformas puses — nulle konfigurēšanas tev

Ierobežojumi

  • Dati glabājas RAM, kas ir dārgāka par disku → nav paredzēts milzīgiem „auksto” datu apjomiem
  • Tas ir kešatmiņa / palīgslānis, nevis patiesības avots — pastāvīgie dati paliek PostgreSQL
  • Noturība (RDB/AOF) samazina, bet pilnībā neizslēdz risku zaudēt pēdējās sekundes avārijas gadījumā
  • Nepieciešama pareiza atcelšanas stratēģija, citādi var apkalpot novecojušus datus

Īss secinājums

Izmanto Redis visam, kam jābūt acumirklīgam — kešošanai, sesijām, grozam, rate limiting, reāllaikam un darbu rindām. Neizmanto to kā galveno datu glabātuvi; tam paliek PostgreSQL. Platformā 4buildsite tev ir abi, automātiski saskaņoti: nekas nav jāizvēlas vai jākonfigurē.

Specifikāciju tabula

IespējaDetaļasKur izmanto builder
Latentums< 1 ms (in-memory)Lapas un dati tiek piegādāti no atmiņas
Caurlaidība> 100 000 darbību/s uz mezgluLiela datplūsma ar mazāku slodzi uz datubāzi
Datu struktūrasstring, hash, list, set, sorted set, streamSesijas, grozs, topi, rindas, rate limiting
NoturībaRDB snapshot + AOF žurnālsAtjaunošana pēc restarta
Derīguma beigšanāsTTL katrai atslēgaiGrozs, sesijas un kešatmiņa ar automātisku tīrīšanu
ReāllaiksPub/Sub + StreamsTiešraides krājums, paziņojumi, pasūtījuma statuss

Redis (kešatmiņa) pret tikai datubāzi

KritērijsAr RedisTikai PostgreSQL
Atbildes laiks atkārtotiem datiemno atmiņas, bez vaicājuma datubāzēvaicājums katram pieprasījumam
Pie lielas datplūsmasdatubāze aizsargāta, viegli mērogojasdatubāze pārslogojas, risks uz timeout
Grozs un sesijasātras, ar automātisku derīguma beigšanostabulas, kas aug un noslogo datubāzi
Reāllaiksnatīvs Pub/Sub un Streamsatkārtots polling, dārgs
Darbu rindasnatīvas, vienkāršas lietošanāimprovizēti risinājumi vai to nav vispār

Biežāk uzdotie jautājumi

Kas īsumā ir Redis?

Īpaši ātra in-memory datubāze, ko izmanto kā kešatmiņas, sesiju un reāllaika slāni pirms galvenās datubāzes. Tā glabā datus RAM un ļauj vietnei piegādāt tos no atmiņas.

Kāpēc neizmantojat tikai PostgreSQL?

PostgreSQL ir patiesības avots (noturīgi dati), taču Redis atkārtotos datus piegādā no atmiņas un pārņem grozu, sesijas, rate limiting un reāllaiku, aizsargājot datubāzi pie lielas datplūsmas. Abi strādā kopā.

Vai zaudēšu datus, ja Redis nokrīt?

Ne vietnes saturu: pastāvīgie dati ir PostgreSQL. Redis glabājas tikai kešatmiņa un pagaidu dati, bet RDB/AOF noturība samazina zaudējumus. Redis restarts neietekmē tavu publicēto vietni.

Vai man pašam jākonfigurē Redis?

Nē. Tas ir iekļauts un pārvaldīts no platformas 4buildsite puses; tu izbaudi ātrumu un reāllaika funkcijas, neko neadministrējot.

Kā Redis palīdz tiešsaistes veikalam?

Grozs apmeklētājiem, kešoti produktu saraksti, tiešraidē atjaunināts krājums un aizsardzība pret ļaunprātīgu izmantošanu pie norēķiniem un veidlapās — viss, neapgrūtinot datubāzi.

Vai Redis palīdz SEO un Core Web Vitals?

Jā, netieši: īsi atbildes laiki ietekmē TTFB — vienu no Core Web Vitals rādītājiem — un lietotāja pieredzi.

4b2b.net
Biznesa ekosistēma
4conta.ro
Grāmatvedība
4invoices.net
Rēķinu izrakstīšanas lietotne
4expenses.net
Izdevumu pārvaldība
4notify.net
Paziņojumi
4hosting.net
Hostings
4database.net
Datubāzes
4buildsite.net
Mājaslapu veidotājs
4myapp.net
Lietotņu veidotājs
4avatars.net
MI avatāri
4chaty.net
MI tērzēšanas robots
4webagency.net
Programma tīmekļa aģentūrām
4softedu.net
Mājaslapas izglītībai
4softcrm.net
CRM platforma
4softerp.net
ERP sistēma
4softhr.net
Personāla vadība
4mystaff.net
Darbinieku portāls
4myprojects.net
Projektu vadība
4mycontracts.net
Līgumi
4docs.net
Dokumentu pārvaldība
4appointments.net
Pieraksts
4marketingonline.net
Mārketings
4insurance.net
Apdrošināšana
4property.net
Nekustamais īpašums
4lawyers.net
Programma juristiem
4mygarage.net
Autoserviss
4driving.net
Autoskolas
4fleet.net
Autoparka vadība
4myevents.net
Pasākumi
4therapy.net
Terapija
4clinics.net
Klīnikas
4dental.net
Zobārstniecības klīnikas
4restaurants.net
Restorāni
4beautify.net
Skaistumkopšanas salons
4gym.net
Sporta klubi
4guards.net
Apsardzes uzņēmumi
4softvet.net
Veterinārās klīnikas
4softauto.net
Programmatūra auto biznesam
4construct.net
Būvniecības uzņēmumi
4marketplace.net
Tirdzniecības platforma
4shopy.net
Interneta veikals
4pricing.net
Cenu salīdzināšana
4salefood.net
Ēdiena piegāde
4rentify.net
Noma
4transports.net
Transports
4agencytravel.net
Ceļojumu aģentūra
4hotel.net
Viesnīcu vadība
4ong.net
NVO pārvaldība