0Pricing
Spring Boot 4 Microservices & REST APIs · 课时

使用 Redis 作为缓存提供者

配置基于 Redis 的缓存

使用 Redis 作为缓存提供者 是 CoddyKit 上的免费 Spring Boot 4 Microservices & REST APIs 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Spring Boot 4 Microservices & REST APIs 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Spring Boot 4 Microservices & REST APIs 课程共包含 4 节课。

本课时的部分内容尚未翻译,以英文显示。

Why Redis for Caching

Redis is an in-memory data store that works as a distributed cache shared across many app instances.

  • Survives app restarts
  • Shared by all nodes
  • Supports TTL and eviction

Adding the Dependency

Add Spring Data Redis to switch the cache backend to Redis.

// build.gradle
implementation "org.springframework.boot:spring-boot-starter-data-redis"

Connection Settings

Point Spring at your Redis server in properties.

# application.properties
spring.data.redis.host=localhost
spring.data.redis.port=6379
spring.cache.type=redis

Auto-Configured RedisCacheManager

With Redis on the classpath and spring.cache.type=redis, Spring Boot auto-configures a RedisCacheManager. Your existing @Cacheable methods now use Redis with no code change.

Customizing the CacheManager

Define a RedisCacheManager bean for fine control over defaults.

@Bean
public RedisCacheManager cacheManager(
        RedisConnectionFactory factory) {
    RedisCacheConfiguration config =
        RedisCacheConfiguration.defaultCacheConfig()
            .entryTtl(Duration.ofMinutes(10));
    return RedisCacheManager.builder(factory)
        .cacheDefaults(config)
        .build();
}

Serialization

Cached values are serialized before storage. JDK serialization is the default; JSON is more portable and readable.

RedisCacheConfiguration config =
    RedisCacheConfiguration.defaultCacheConfig()
        .serializeValuesWith(
            SerializationPair.fromSerializer(
                new GenericJackson2JsonRedisSerializer()));

Serializable Entities

For JDK serialization, cached objects must implement Serializable. JSON serialization avoids this requirement.

public class Product implements Serializable {
    private Long id;
    private String name;
}

Key Prefixes

Redis cache keys are prefixed with the cache name by default (e.g. products::1), keeping caches namespaced in the shared store.

Per-Cache Configuration

Give individual caches their own TTL via a map of configurations.

Map<String, RedisCacheConfiguration> configs =
    Map.of("products",
        RedisCacheConfiguration.defaultCacheConfig()
            .entryTtl(Duration.ofMinutes(5)));
return RedisCacheManager.builder(factory)
    .withInitialCacheConfigurations(configs)
    .build();

RedisTemplate for Direct Access

Beyond the cache abstraction, RedisTemplate lets you read and write Redis directly.

@Autowired
RedisTemplate<String, String> redisTemplate;

redisTemplate.opsForValue()
    .set("greeting", "hello",
        Duration.ofSeconds(30));

Resilience to Redis Outages

If Redis is unreachable, cache operations fail. Consider a fallback strategy or error handler so a cache outage does not take down the app.

Quick Check

Test your understanding of Redis caching.

Recap

You learned to use Redis as a cache:

  • Add the data-redis starter, set spring.cache.type=redis
  • Auto-configured RedisCacheManager
  • Customize TTL and JSON serialization via a bean
  • Keys are namespaced by cache name

常见问题解答

「使用 Redis 作为缓存提供者」课时是免费的吗?

是的 — 「使用 Redis 作为缓存提供者」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Spring Boot 4 Microservices & REST APIs 课程的其余内容,请升级到 CoddyKit PRO。 Spring Boot 4 Microservices & REST APIs 课程共包含 4 节课。

「使用 Redis 作为缓存提供者」这节课中我会学到什么?

配置基于 Redis 的缓存 你通过在浏览器中直接运行的动手代码来练习 Spring Boot 4 Microservices & REST APIs,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Spring Boot 4 Microservices & REST APIs 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Spring Boot 4 Microservices & REST APIs 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「使用 Redis 作为缓存提供者」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Spring Boot 4 Microservices & REST APIs 课中编写并运行代码吗?

能。每节 Spring Boot 4 Microservices & REST APIs 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. Spring 缓存抽象
  2. @Cacheable、@CachePut、@CacheEvict
  3. 使用 Redis 作为缓存提供者
  4. 缓存 TTL 和失效
← 返回 Spring Boot 4 Microservices & REST APIs