Technologie

← Domů
Cachování a reálný čas

Redis — in-memory cachování pro weby a e-shopy

Redis je vrstva rychlosti za weby, e-shopy a marketplace postavenými na 4buildsite: drží v paměti (RAM) přesně ta data, která je třeba servírovat opakovaně — cachované stránky, relace, košíky, limity četnosti — a odpovídá za méně než milisekundu. Zdrojem pravdy zůstává PostgreSQL; Redis ho chrání při vysokém provozu . Je v ceně a spravovaný platformou, bez jakéhokoli nastavování z vaší strany.

Co je Redis a proč je tak rychlý

Redis (REmote DIctionary Server) je open-source in-memory databáze: drží data v RAM, ne na disku, takže odpovídá za méně než milisekundu. Na 4buildsite ho používáme jako akcelerační vrstvu před PostgreSQL — pro vše, co se musí servírovat okamžitě: stránky, relace, košíky a limity četnosti.

Na rozdíl od disku je RAM o řády rychlejší a Redis přidává nativní datové struktury (string, hash, list, set, sorted set, stream), které umožňují složité operace přímo v paměti, bez zpáteční cesty do hlavní databáze. Zpracování příkazů je single-threaded, takže chování je předvídatelné a bez race conditions.

  • Typická latence pod 1 ms a přes 100 000 operací za sekundu na jediném uzlu
  • Nativní struktury: hashe pro relace, sorted set pro žebříčky a rate limiting, stream pro fronty
  • Single-threaded zpracování příkazů → předvídatelné chování, bez složitých blokací

Cachování: vaše stránky a data, servírované z paměti

Strategií je cache-aside: první požadavek čte z PostgreSQL a uloží výsledek do Redisu s TTL (doba života); další požadavky ho berou přímo z paměti. Když upravíte stránku, klíč se explicitně smaže — nikdy neservírujeme zastaralá data díky slepému TTL.

U prezentačního webu nebo e-shopu to znamená, že seznamy produktů, menu, oblíbené stránky a fragmenty obsahu se doručují z paměti, bez přetěžování databáze. Ve špičkách (kampaň, Black Friday) Redis pohlcuje opakované požadavky a chrání databázi.

  • Cache-aside s explicitní invalidací — žádná zastaralá data
  • Ukládá fragmenty stránek a výsledky dotazů, nejen celé stránky
  • Chrání PostgreSQL při špičkách provozu a zkracuje doby odezvy

Relace, nákupní košík a ochrana proti zneužití

Uživatelské relace a refresh tokeny jsou v Redisu: autentizace, automatické vypršení přes TTL a odvolání na všech zařízeních, když se někdo odhlásí nebo změní heslo.

Nákupní košík v e-shopech postavených na 4buildsite je pro nepřihlášené návštěvníky držen v Redisu, s expirací, bez nafukování hlavní databáze. Také rate limiting na kontaktních formulářích a při přihlášení zajišťuje Redis pomocí sorted sets, aby zastavil spam a pokusy o útok hrubou silou dřív, než se dostanou do databáze.

  • Úložiště relací s automatickou expirací a selektivním odvoláním tokenů
  • Perzistentní košík s TTL pro anonymní návštěvníky
  • Rate limiting a ochrana proti zneužití u formulářů a autentizace

Reálný čas a fronty úloh na pozadí

Redis Pub/Sub a Streams pohánějí aktualizace v reálném čase: zásoba, která klesá živě, notifikace v aplikaci, měnící se stav objednávky — vše bez toho, aby návštěvník musel obnovit stránku, a bez opakovaného pollingu, který zatěžuje server.

Náročné úlohy (zpracování obrázku, generování exportu, synchronizace) jdou do fronty v Redisu a na pozadí je zpracovávají workery, aby návštěvník nečekal na jejich dokončení. Mechanismus distribuovaného zamykání zaručuje, že se kritická operace nespustí dvakrát.

  • Pub/Sub a Streams pro živé události (zásoby, objednávky, notifikace)
  • Fronty úloh pro náročné zpracování spouštěné asynchronně
  • Distribuované zamykání pro operace, které se nesmějí spustit dvakrát

Výhody a omezení

Výhody

  • Odezva pod 1 ms: cachovaná data se čtou z paměti
  • Dramaticky snižuje zátěž PostgreSQL při vysokém provozu
  • Nativní struktury pro relace, košík, rate limiting a žebříčky
  • Pub/Sub a Streams pro funkce v reálném čase, bez pollingu
  • Fronty úloh pro náročné zpracování, bez blokování návštěvníka
  • V ceně a spravovaný platformou — žádné nastavování z vaší strany

Omezení

  • Data leží v RAM, která je dražší než disk → není pro obrovské objemy „studených“ dat
  • Je to cache / pomocná vrstva, ne zdroj pravdy — trvalá data zůstávají v PostgreSQL
  • Perzistence (RDB/AOF) snižuje, ale úplně neodstraňuje riziko ztráty posledních sekund při pádu
  • Vyžaduje správnou strategii invalidace, jinak může servírovat zastaralá data

Stručný verdikt

Redis používejte pro vše, co musí být okamžité — cachování, relace, košík, rate limiting, reálný čas a fronty úloh. Nepoužívejte ho jako hlavní úložiště dat; k tomu zůstává PostgreSQL. Na 4buildsite máte obojí, správně přiřazené automaticky: nemusíte nic vybírat ani nastavovat.

Tabulka specifikací

SchopnostDetailKde se používá v builderu
Latence< 1 ms (in-memory)Stránky a data servírované z paměti
Propustnost> 100 000 ops/s na uzelVysoký provoz bez pádu databáze
Datové strukturystring, hash, list, set, sorted set, streamRelace, košík, žebříčky, fronty, rate limiting
PerzistenceSnapshot RDB + log AOFRychlá obnova po restartu
ExpiraceTTL na klíčKošík, relace a cache s automatickým čištěním
Reálný časPub/Sub + StreamsŽivé zásoby, notifikace, stav objednávky

Redis (cache) vs. jen databáze

KritériumS RedisemJen PostgreSQL
Doba odezvy u opakovaných datpod 1 ms, z pamětidesítky ms, dotaz při každém požadavku
Při vysokém provozudatabáze chráněná, snadno škálujedatabáze se zahlcuje, hrozí timeouty
Košík a relacerychlé, s automatickou expiracítabulky, které rostou a zatěžují databázi
Reálný časnativní Pub/Sub a Streamsopakovaný polling, nákladný
Fronty úlohnativní, jednoduché na použitíimprovizovaná řešení nebo žádná

Často kladené otázky

Co je Redis, stručně?

Ultrarychlá in-memory databáze, používaná jako vrstva pro cache, relace a reálný čas před hlavní databází. Odpovídá za méně než milisekundu.

Proč nepoužíváte jen PostgreSQL?

PostgreSQL je zdroj pravdy (trvalá data), ale Redis servíruje opakovaná data za méně než milisekundu a přebírá košík, relace, rate limiting a reálný čas, čímž chrání databázi při vysokém provozu. Oba spolupracují.

Přijdu o data, když Redis spadne?

Ne o obsah webu: trvalá data jsou v PostgreSQL. V Redisu leží jen cache a dočasná data a perzistence RDB/AOF ztráty snižuje. Restart Redisu váš publikovaný web neovlivní.

Musím Redis nastavovat sám?

Ne. Je v ceně a spravovaný platformou 4buildsite; funkce v reálném čase získáváte, aniž byste cokoli spravovali.

Jak Redis pomáhá online obchodu?

Košík pro návštěvníky, cachované seznamy produktů, živě aktualizované zásoby a ochrana proti zneužití při pokladně a ve formulářích — vše bez zatěžování databáze.

Jak souvisí Redis s dobou odezvy serveru (TTFB)?

Redis servíruje opakovaná data z paměti, takže server nemusí při každém požadavku znovu posílat dotaz do databáze. TTFB (Time to First Byte) je doba, než prohlížeč obdrží první bajt odpovědi serveru; započítává se do ní i čas dotazu do databáze.

4b2b.net
Podnikatelský ekosystém
4conta.ro
Účetnictví
4invoices.net
Fakturační aplikace
4expenses.net
Správa výdajů
4notify.net
Oznámení
4hosting.net
Hosting
4database.net
Databáze
4buildsite.net
Tvorba webů
4myapp.net
Tvorba aplikací
4avatars.net
AI avataři
4chaty.net
AI chatbot
4webagency.net
Software pro webové agentury
4softedu.net
Weby pro vzdělávání
4softcrm.net
CRM platforma
4softerp.net
ERP systém
4softhr.net
Personalistika
4mystaff.net
Portál pro zaměstnance
4myprojects.net
Správa projektů
4mycontracts.net
Smlouvy
4docs.net
Správa dokumentů
4appointments.net
Rezervace termínů
4marketingonline.net
Marketing
4insurance.net
Pojištění
4property.net
Reality
4lawyers.net
Software pro advokáty
4mygarage.net
Autoservis
4driving.net
Autoškoly
4fleet.net
Správa vozového parku
4myevents.net
Události
4therapy.net
Terapie
4clinics.net
Kliniky
4dental.net
Zubní ordinace
4restaurants.net
Restaurace
4beautify.net
Kosmetický salon
4gym.net
Fitness centra
4guards.net
Bezpečnostní agentury
4softvet.net
Veterinární ordinace
4softauto.net
Software pro autobyznys
4construct.net
Stavební firmy
4marketplace.net
Marketplace
4shopy.net
E-shop
4pricing.net
Porovnání cen
4salefood.net
Rozvoz jídla
4rentify.net
Pronájmy
4transports.net
Doprava
4agencytravel.net
Cestovní kancelář
4hotel.net
Hotelový systém
4ong.net
Správa neziskovek