Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

स्प्रिंग या स्प्रिंग बूट के साथ रेडिस का उपयोग करते समय डिफ़ॉल्ट कैश रणनीति क्या है?

डिफ़ॉल्ट रूप से, आप कैश को एक तरफ रख देते हैं, स्प्रिंग बूट ऐप में हमारे कैशे का उपयोग कुछ इसी तरह दिखता है

@Cacheable(cacheNames = "someCache")
public String cacheThis(String id){
    return "this Is it";
}

स्प्रिंग बूट ऐप में अधिकांश परिदृश्यों में, हम जेपीए या अन्य डीबी प्रश्नों के परिणाम को कैश करते हैं। ऐसे मामलों में, हम Cacheable . जोड़ते हैं क्वेरी विधि पर, जो हमें कैशे को अलग करने की सुविधा देता है।

<ब्लॉकक्वॉट>

एक एप्लिकेशन कैश-अलग रणनीति को लागू करके रीड-थ्रू कैशिंग की कार्यक्षमता का अनुकरण कर सकता है। यह रणनीति डेटा को कैश ऑन डिमांड में लोड करती है।

संदर्भ:https://docs.microsoft.com/en-us/azure/architecture/patterns/cache-aside

कैश साइड पैटर्न का उपयोग करना किसी समस्या का हमेशा समाधान नहीं होता है, आपके उपयोग के मामले के आधार पर आपको कैशिंग रणनीति को बदलना पड़ सकता है। कैशिंग रणनीति बदलना सीधे आगे नहीं है, सिवाय कुछ एनोटेशन के जिन्हें हम स्प्रिंग फ्रेमवर्क से जानते हैं जैसे

  • संग्रहणीय
  • कैशइविक्ट
  • कैशपुट

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

उदाहरण के लिए

Cache myCache = cacheManager.getCache("myCache"); 

एक बार आपके पास कैश ऑब्जेक्ट होने के बाद, आप सभी प्रासंगिक विधियों को कॉल कर सकते हैं, अंतर्निहित कैश की सीमा के कारण कुछ विधियां अपेक्षित रूप से काम नहीं कर सकती हैं।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Magento कैश कुंजी नामों के साथ कैसे आता है?

  2. अजगर फ्लास्क कैसे एक डेकोरेटर के लिए एक गतिशील पैरामीटर पारित करने के लिए

  3. Redis Lua स्क्रिप्ट को कॉल करते समय KEYS और ARGV सरणियाँ क्यों हैं?

  4. रेडिस कनेक्शन विफल होने पर रन टाइम पर रेडिस कैशिंग को अक्षम कैसे करें

  5. रेडिस मास इंसर्शन