Redis — memòria cau en memòria per a webs i botigues
Redis és la capa de velocitat darrere dels webs, botigues i marketplaces creats a 4buildsite: manté a la memòria (RAM) exactament les dades que s'han de servir a l'instant (pàgines en memòria cau, sessions, carrets, límits de taxa) i respon en menys d'un mil·lisegon. PostgreSQL continua sent la font de la veritat; Redis el protegeix amb molt de trànsit. Està inclòs i gestionat per la plataforma, sense cap configuració per part vostra.
Què és Redis i per què és tan ràpid
Redis (REmote DIctionary Server) és una base de dades en memòria de codi obert: guarda les dades a la RAM i no al disc, de manera que respon en menys d'un mil·lisegon. A 4buildsite l'utilitzem com a capa d'acceleració davant de PostgreSQL, per a tot el que s'ha de servir a l'instant: pàgines, sessions, carrets i límits de taxa.
A diferència d'un disc, la RAM és ordres de magnitud més ràpida, i Redis hi afegeix estructures de dades natives (string, hash, list, set, sorted set, stream) que permeten operacions complexes directament a la memòria, sense anar i tornar a la base de dades principal. El processament de les ordres és d'un sol fil, de manera que el comportament és previsible i sense condicions de carrera.
- Latència típica inferior a 1 ms i més de 100.000 operacions per segon en un sol node
- Estructures natives: hashes per a sessions, sorted sets per a rànquings i rate limiting, streams per a cues
- Un sol fil en les ordres → comportament previsible, sense bloquejos complexos
Caching: les vostres pàgines i dades
L'estratègia és cache-aside: la primera petició llegeix de PostgreSQL i desa el resultat a Redis amb un TTL (time to live); les peticions següents l'agafen directament de la memòria. Quan editeu una pàgina, la clau s'invalida explícitament: mai servim dades obsoletes amb un TTL cec.
Per a un web de presentació o una botiga, això vol dir que les llistes de productes, els menús, les pàgines més visitades i els fragments de contingut es lliuren sense sobrecarregar la base de dades. En els pics (una campanya, Black Friday) Redis absorbeix les peticions repetides.
- Cache-aside amb invalidació explícita: sense dades obsoletes
- Desa en memòria cau fragments de pàgina i resultats de consultes, no només pàgines senceres
- Protegeix PostgreSQL en els pics de trànsit
Sessions, carretó de la compra i protecció contra abusos
Les sessions d'usuari i els refresh tokens viuen a Redis: autenticació, caducitat automàtica mitjançant TTL i revocació a tots els dispositius quan algú tanca la sessió o canvia la contrasenya.
El carretó de la compra de les botigues creades a 4buildsite es manté a Redis per als visitants no autenticats: amb caducitat, sense inflar la base de dades principal. Redis també aplica rate limiting als formularis de contacte i a l'inici de sessió, amb sorted sets, i atura el correu brossa i els intents de força bruta abans que arribin a la base de dades.
- Session store amb caducitat automàtica i revocació selectiva de tokens
- Carretó persistent amb TTL per als visitants anònims
- Rate limiting i protecció contra abusos en formularis i autenticació
Temps real i cues de tasques en segon pla
Redis Pub/Sub i Streams impulsen les actualitzacions en temps real: l'estoc que baixa en directe, una notificació a l'aplicació, l'estat d'una comanda que canvia, tot sense que el visitant hagi de refrescar la pàgina i sense polling repetit que cansa el servidor.
Les tasques pesades (processar una imatge, generar una exportació, una sincronització) entren en una cua de Redis i les executen workers en segon pla, de manera que el visitant no espera que acabi la tasca. Un mecanisme de bloqueig distribuït garanteix que una operació crítica no s'executi dues vegades.
- Pub/Sub i Streams per a esdeveniments en directe (estoc, comandes, notificacions)
- Cues de tasques per al processament pesat executat de manera asíncrona
- Bloqueig distribuït per a operacions que no s'han d'executar dues vegades
Avantatges i limitacions
Avantatges
- Respostes en menys d'1 ms: les dades en memòria cau es serveixen des de la memòria
- Redueix dràsticament la càrrega de PostgreSQL amb molt de trànsit
- Estructures natives per a sessions, carretó, rate limiting i rànquings
- Pub/Sub i Streams per a funcionalitats en temps real, sense polling
- Cues de tasques per al processament pesat, sense bloquejar el visitant
- Inclòs i gestionat per la plataforma: cap configuració per part vostra
Limitacions
- Les dades viuen a la RAM, que és més cara que el disc → no és per a grans volums de dades "fredes"
- És una capa de memòria cau / auxiliar, no la font de la veritat: les dades permanents continuen a PostgreSQL
- La persistència (RDB/AOF) redueix, però no elimina del tot, el risc de perdre els últims segons en cas de fallada
- Requereix una estratègia d'invalidació correcta; si no, pot servir dades obsoletes
Veredicte ràpid
Feu servir Redis per a tot el que ha de ser instantani: caching, sessions, carretó, rate limiting, temps real i cues de tasques. No l'utilitzeu com a magatzem principal de dades; per a això hi ha PostgreSQL. A 4buildsite teniu tots dos, connectats automàticament: no heu d'escollir ni configurar res.
Taula d'especificacions
| Capacitat | Detall | On s'utilitza al builder |
|---|---|---|
| Latència | < 1 ms (en memòria) | Pàgines i dades de la memòria cau |
| Rendiment | > 100.000 ops/s per node | Molt de trànsit sense que la base de dades es col·lapsi |
| Estructures de dades | string, hash, list, set, sorted set, stream | Sessions, carretó, rànquings, cues, rate limiting |
| Persistència | Instantània RDB + registre AOF | Recuperació ràpida després d'un reinici |
| Caducitat | TTL per clau | Carretó, sessions i memòria cau que s'autoneteges |
| Temps real | Pub/Sub + Streams | Estoc, notificacions i estat de comandes en directe |
Redis (memòria cau) vs. només base de dades
| Criteri | Amb Redis | Només PostgreSQL |
|---|---|---|
| Temps de resposta per a dades repetides | menys d'1 ms, des de la memòria | desenes de ms, una consulta a cada petició |
| Amb molt de trànsit | base de dades protegida, escala fàcilment | la base de dades es satura, risc de timeouts |
| Carretó i sessions | amb caducitat automàtica | taules que creixen i carreguen la base de dades |
| Temps real | Pub/Sub i Streams natius | polling repetit, car |
| Cues de tasques | natives, senzilles d'utilitzar | solucions improvisades o inexistents |
Preguntes freqüents
Què és Redis, en poques paraules?
Una base de dades en memòria ultraràpida que s'utilitza com a capa de memòria cau, sessions i temps real davant de la base de dades principal. Respon en menys d'un mil·lisegon.
Per què no utilitzar només PostgreSQL?
PostgreSQL és la font de la veritat (dades duradores), però Redis serveix les dades repetides en menys d'un mil·lisegon i s'encarrega del carretó, les sessions, el rate limiting i el temps real, i protegeix la base de dades amb molt de trànsit. Tots dos treballen junts.
Perdré dades si Redis cau?
No el contingut del vostre web: les dades permanents són a PostgreSQL. Redis només conté memòria cau i dades temporals, i la persistència RDB/AOF redueix les pèrdues.
He de configurar Redis jo mateix?
No. Està inclòs i gestionat per la plataforma 4buildsite; obteniu les funcionalitats en temps real sense administrar res.
Com ajuda Redis una botiga en línia?
Un carretó per als visitants, llistes de productes en memòria cau, estoc actualitzat en directe i protecció contra abusos al pagament i als formularis, tot sense carregar la base de dades.
Com influeix Redis en el temps de resposta (TTFB)?
El TTFB (Time To First Byte) és el temps que passa fins que el navegador rep el primer byte de la resposta del servidor. Redis serveix les dades repetides des de la memòria, sense una consulta a la base de dades a cada petició, de manera que el servidor pot començar a respondre abans.