Spring Boot Tutorial 0/110 lessons ~6 min read Lesson 56

    Caching with Redis

    Redis is the universal cache: sub-millisecond reads, tiny footprint, perfect for hot reads, session storage, rate limiting and pub/sub.

    Course progress0%
    Focus
    3 guided sections
    Practice signal
    Examples included
    Career prep
    Foundation builder

    Introduction

    Redis is the universal cache: sub-millisecond reads, tiny footprint, perfect for hot reads, session storage, rate limiting and pub/sub. Spring Boot's spring-boot-starter-data-redis integrates it in two annotations.

    Informative example

    ts
    # application.yml
    spring:
    data:
    redis:
    host: ${REDIS_HOST:localhost}
    port: 6379
    cache:
    type: redis
    @Configuration @EnableCaching
    public class CacheConfig {}
    @Service
    public class ProductService {
    @Cacheable(value = "product", key = "#id")
    public ProductDto find(Long id) { ... } // first call hits DB; rest hit Redis
    @CacheEvict(value = "product", key = "#id")
    public void update(Long id, UpdateProduct cmd) { ... }
    }

    Best practices

    • Always set TTLs — un-bounded caches become memory leaks.
    • Cache reads, not writes. Invalidate with @CacheEvict.
    • Serialise as JSON, not Java; Java serialization breaks across versions.
    Ready to mark this lesson complete?Track your journey across the entire course.