Spring Boot 4 Microservices & REST APIs · บทเรียน

แนวคิดนามธรรมของแคช Spring

แคชผลลัพธ์ของเมธอดด้วยคำกำกับ

บทเรียน 1 จาก 413 ขั้นตอน

แนวคิดนามธรรมของแคช Spring เป็นบทเรียน Spring Boot 4 Microservices & REST APIs ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Spring Boot 4 Microservices & REST APIs และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Spring Boot 4 Microservices & REST APIs มีบทเรียนทั้งหมด 4 บทเรียน

บางส่วนของบทเรียนนี้ยังไม่ได้รับการแปล และแสดงเป็นภาษาอังกฤษ

Why Caching

Caching stores the result of expensive operations so repeated calls return instantly from memory instead of recomputing or re-querying.

  • Lower latency
  • Less database load
  • Better throughput

The Cache Abstraction

Spring provides a cache abstraction — a uniform API over many backends (in-memory, Redis, Caffeine). You annotate methods; Spring handles the storage.

Enabling Caching

Add @EnableCaching to a configuration class to turn on annotation processing.

@Configuration
@EnableCaching
public class CacheConfig {
}

The CacheManager

A CacheManager owns the named caches. Spring Boot auto-configures one based on what is on the classpath.

@Autowired
CacheManager cacheManager;

Cache productCache = cacheManager.getCache("products");

Default In-Memory Cache

With no cache library on the classpath, Spring Boot uses a simple ConcurrentMapCacheManager backed by a map.

Named Caches

Each cached method targets a named cache. Names let you tune and clear caches independently.

@Cacheable("products")
public Product findById(Long id) {
    return repository.findById(id).orElseThrow();
}

How a Cache Hit Works

On call, Spring builds a key, checks the cache: if present (a hit), it returns the stored value and skips the method body. On a miss, it runs the method and stores the result.

Cache Keys

By default the key is derived from the method arguments. You can override it with a SpEL expression.

@Cacheable(value = "products", key = "#id")
public Product findById(Long id) { ... }

Choosing a Provider

Add a library to switch backends automatically: Caffeine for fast local caching, Redis for a shared distributed cache.

// build.gradle for Caffeine
implementation "com.github.ben-manes.caffeine:caffeine"

Configuring Caffeine

Caffeine supports size limits and expiry via properties.

# application.properties
spring.cache.cache-names=products
spring.cache.caffeine.spec=maximumSize=500,expireAfterWrite=600s

When Not to Cache

Caching suits read-heavy, slow-changing data. Avoid it for rapidly changing values or when stale reads are unacceptable without proper eviction.

Quick Check

Test your understanding of the cache abstraction.

Recap

You learned the cache abstraction:

  • @EnableCaching turns the feature on
  • A CacheManager owns named caches
  • Default backend is an in-memory ConcurrentMap
  • Swap to Caffeine or Redis by adding the library
เริ่มต้นได้ฟรี

เรียนรู้ Java ด้วย AI tutor — ฟรี

เขียนและเรียกใช้โค้ดจริงในเบราว์เซอร์ของคุณ รับความช่วยเหลือทันทีจาก AI tutor 24/7 และเรียนรู้ต่อจากที่คุณหยุดบนเว็บหรือในแอป

คอร์ส
24
บทเรียน
93

คำถามที่พบบ่อย

บทเรียน “แนวคิดนามธรรมของแคช Spring” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “แนวคิดนามธรรมของแคช Spring” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Spring Boot 4 Microservices & REST APIs ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Spring Boot 4 Microservices & REST APIs มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “แนวคิดนามธรรมของแคช Spring”

แคชผลลัพธ์ของเมธอดด้วยคำกำกับ คุณปฏิบัติ Spring Boot 4 Microservices & REST APIs ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Spring Boot 4 Microservices & REST APIs หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Spring Boot 4 Microservices & REST APIs บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน

บทเรียน “แนวคิดนามธรรมของแคช Spring” ใช้เวลานานแค่ไหน

บทเรียน 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