Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Redis — rychlý cache a session management

10. 07. 2014 1 min čtení CORE SYSTEMSdevelopment

Naše Java aplikace měla problém s výkonem. Každý požadavek sahal do databáze, i když data se měnila jednou za hodinu. Redis jako cache vrstva snížil odezvu z 200ms na 2ms a odlehčil databázi o 95 % dotazů.

Proč Redis, ne Memcached

Redis umí víc než key-value — hashe, listy, sety, sorted sety. Navíc persistence (RDB, AOF), replication a Sentinel pro HA. Víc než cache — legitimní databáze pro specifické use cases.

Cache pro REST API

public List<Product> getProducts() {
    String cached = jedis.get("products:all");
    if (cached != null) {
        return objectMapper.readValue(cached, productListType);
    }
    List<Product> products = productRepository.findAll();
    jedis.setex("products:all", 3600, objectMapper.writeValueAsString(products));
    return products;
}

Session store a rate limiting

S Spring Session je Redis session store triviální — jedna anotace. Sessions přežijí restart a jsou sdílené mezi instancemi. Redis INCR+EXPIRE pro rate limiting: klíč = IP + minuta, limit 100 req/min.

Provozní tipy

  • Nastavte maxmemory s allkeys-lru eviction policy
  • Nepoužívejte KEYS * v produkci — použijte SCAN
  • Nastavte TTL na cache klíče
  • Sledujte memory fragmentation ratio

Redis patří do každého stacku

Jednoduchý na provoz, rychlý, univerzální. Jako cache, session store, message broker — Redis má místo v každé aplikaci, která potřebuje rychlost.

rediscacheperformancejava