Spring Boot 4 माइक्रोसर्विस और REST API · पाठ

@Cacheable, @CachePut, @CacheEvict

कैशिंग के व्यवहार को सटीक रूप से नियंत्रित करें।

पाठ 2, कुल 4 में से13 चरण

@Cacheable, @CachePut, @CacheEvict, CoddyKit पर Spring Boot 4 माइक्रोसर्विस और REST API का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Spring Boot 4 माइक्रोसर्विस और REST API सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Spring Boot 4 माइक्रोसर्विस और REST API पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

तीन Cache Annotations

Spring method-level cache annotations के तीन प्रकार देता है:

  • @Cacheable — पहले पढ़ें, फिर परिणाम संग्रहीत करें
  • @CachePut — हमेशा चलाएँ और cache अपडेट करें
  • @CacheEvict — entries हटाएँ

@Cacheable

@Cacheable पहले cache जाँचता है; miss होने पर method चलाकर परिणाम संग्रहीत करता है।

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

शर्तीय Caching

केवल तब cache करने के लिए condition का उपयोग करें जब predicate सही हो, और कुछ परिणामों को cache करने से रोकने के लिए unless का उपयोग करें।

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

@CachePut

@CachePut method को हमेशा चलाता है और लौटाई गई value संग्रहीत करता है — यह उन update methods के लिए आदर्श है जिन्हें cache को refresh करना चाहिए।

@CachePut(value = "products", key = "#product.id")
public Product update(Product product) {
    return repository.save(product);
}

Cacheable बनाम CachePut

@Cacheable hit होने पर method को छोड़ सकता है; @CachePut कभी नहीं छोड़ता। दोनों को एक ही method पर कभी न लगाएँ — उनका व्यवहार परस्पर विरोधी है।

@CacheEvict

@CacheEvict किसी entry को हटाता है, सामान्यतः ऐसे delete या update के बाद जो cached data को अमान्य कर देता है।

@CacheEvict(value = "products", key = "#id")
public void delete(Long id) {
    repository.deleteById(id);
}

सब कुछ हटाना

पूरे कैश को एक साथ साफ़ करने के लिए allEntries = true का उपयोग करें।

@CacheEvict(value = "products", allEntries = true)
public void reloadAll() {
    // bulk refresh
}

इनवोकेशन से पहले या बाद में हटाना

डिफ़ॉल्ट रूप से, मेथड के सफल होने के बाद प्रविष्टियाँ हटाई जाती हैं। मेथड द्वारा त्रुटि उत्पन्न किए जाने पर भी प्रविष्टि हटाने के लिए beforeInvocation = true सेट करें।

@CacheEvict(value = "products",
    allEntries = true, beforeInvocation = true)
public void risky() { ... }

@Caching के साथ समूह बनाना

@Caching एक ही मेथड पर कई कैश क्रियाओं को संयोजित करता है।

@Caching(
    put = @CachePut(value = "products", key = "#p.id"),
    evict = @CacheEvict(value = "productList",
        allEntries = true))
public Product save(Product p) {
    return repository.save(p);
}

क्लास-स्तरीय कॉन्फ़िगरेशन

@CacheConfig किसी क्लास के सभी मेथड के लिए डिफ़ॉल्ट कैश नाम सेट करता है, जिससे दोहराव कम होता है।

@Service
@CacheConfig(cacheNames = "products")
public class ProductService {
    @Cacheable(key = "#id")
    public Product findById(Long id) { ... }
}

स्व-इनवोकेशन की सावधानी

कैश एनोटेशन प्रॉक्सी के माध्यम से काम करते हैं, इसलिए उसी क्लास में किसी अन्य कैश किए गए मेथड को कॉल करने वाला मेथड कैश को बायपास कर देता है। कॉल करने के लिए अलग बीन का उपयोग करें।

त्वरित जाँच

कैश एनोटेशन की अपनी समझ जाँचें।

पुनरावृत्ति

आपने तीन कैश एनोटेशन सीखे:

  • @Cacheable — परिणामों को संग्रहीत और पुनः उपयोग करना
  • @CachePut — हमेशा चलाना और ताज़ा करना
  • @CacheEvict — प्रविष्टियाँ हटाना (allEntries, beforeInvocation)
  • स्व-इनवोकेशन प्रॉक्सी की सावधानी का ध्यान रखें
शुरुआत निःशुल्क

एआई शिक्षक के साथ Java सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
24
पाठ
93

अक्सर पूछे जाने वाले प्रश्न

क्या “@Cacheable, @CachePut, @CacheEvict” पाठ निःशुल्क है?

हाँ—“@Cacheable, @CachePut, @CacheEvict” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Spring Boot 4 माइक्रोसर्विस और REST API पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Spring Boot 4 माइक्रोसर्विस और REST API पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“@Cacheable, @CachePut, @CacheEvict” में मैं क्या सीखूँगा?

कैशिंग के व्यवहार को सटीक रूप से नियंत्रित करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Spring Boot 4 माइक्रोसर्विस और REST API का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Spring Boot 4 माइक्रोसर्विस और REST API शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Spring Boot 4 माइक्रोसर्विस और REST API शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।

“@Cacheable, @CachePut, @CacheEvict” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस Spring Boot 4 माइक्रोसर्विस और REST API पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Spring Boot 4 माइक्रोसर्विस और REST API पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. Spring कैश एब्स्ट्रैक्शन
  2. @Cacheable, @CachePut, @CacheEvict
  3. कैश प्रदाता के रूप में Redis
  4. कैश TTL और अमान्यकरण
← Spring Boot 4 माइक्रोसर्विस और REST API पर वापस जाएँ