キャッシュプロバイダーとしてのRedis
Redisを使ったキャッシュを設定します
「キャッシュプロバイダーとしてのRedis」はCoddyKit上の無料Spring Boot 4 Microservices & REST APIsレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応の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=redisAuto-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」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Spring Boot 4 Microservices & REST APIsコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Spring Boot 4 Microservices & REST APIsコースには全4レッスンが含まれています。
「キャッシュプロバイダーとしてのRedis」で何を学びますか?
Redisを使ったキャッシュを設定します ブラウザで直接実行するハンズオンコードでSpring Boot 4 Microservices & REST APIsを演習し、24時間対応の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フィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Spring Cache抽象化
- @Cacheable、@CachePut、@CacheEvict
- キャッシュプロバイダーとしてのRedis
- キャッシュのTTLと無効化