Spring Data Redis și Caching Distribuit în Spring Boot

cache Spring Boot 3.x / Redis Q&A / Distribuie cod

Integrarea cu servere Redis pentru caching distribuit între microservicii, gestionarea sesiunilor și operațiuni cheie-valoare de mare viteză.

Sintaxă
RedisTemplate<String, Object> / spring.cache.type=redis

În timp ce cache-ul în memorie (Caffeine sau ConcurrentHashMap) funcționează doar pe o singură instanță JVM, un sistem scalat orizontal cu zeci de containere necesită un cache distribuit partajat. Redis este soluția standard din industrie.

Prin starter-ul spring-boot-starter-data-redis, Spring Boot configurează automat conexiunile prin driverul non-blocant Lettuce și permite utilizarea RedisTemplate pentru structuri de date avansate (Hashes, Sets, Lists) sau ca furnizor transparent pentru @Cacheable.

Exemplu: Operațiuni rapide pe chei cu RedisTemplate
package ro.dexblog.demo.service;

import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import java.time.Duration;

@Service
public class RateLimiterService {

    private final StringRedisTemplate redisTemplate;

    public RateLimiterService(StringRedisTemplate redisTemplate) {
        this.redisTemplate = redisTemplate;
    }

    public boolean isAllowed(String clientIp) {
        String key = "rate:ip:" + clientIp;
        Long attempts = redisTemplate.opsForValue().increment(key);
        if (attempts != null && attempts == 1) {
            redisTemplate.expire(key, Duration.ofMinutes(1)); // Expirare automată 60s
        }
        return attempts != null && attempts <= 60; // Maxim 60 cereri / minut
    }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Spring Data Redis și Caching Distribuit

Ai o nelămurire despre utilizarea comenzii Spring Data Redis și Caching Distribuit sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.