Amazon ElastiCache और DAX के साथ कैशिंग
जानें कि ElastiCache (Redis) और DynamoDB Accelerator (DAX) का उपयोग करने वाले Lambda फ़ंक्शन के लिए मेमोरी-आधारित कैशिंग विलंबता और डेटाबेस भार को कैसे घटाती है।
Amazon ElastiCache और DAX के साथ कैशिंग, CoddyKit पर सर्वररहित AWS Lambda विकास का एक निःशुल्क पाठ है। यह 4 में से 4वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह सर्वररहित AWS Lambda विकास सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
कैश क्यों?
हर इनवोकेशन पर डेटाबेस से पढ़ना धीमा और महँगा होता है। कैश अक्सर उपयोग किए जाने वाले डेटा को मेमोरी में रखता है, इसलिए बार-बार पढ़ना लगभग तुरंत होता है।
AWS कैश के दो विकल्प
दो प्रबंधित कैश Lambda के साथ अच्छी तरह काम करते हैं:
- ElastiCache (Redis या Memcached) सामान्य कुंजी-मान कैशिंग के लिए।
- DAX, DynamoDB के लिए विशेष रूप से बनाया गया कैश।
कैश-आसाइड पैटर्न
सबसे सामान्य पैटर्न यह है: पहले कैश जाँचें, डेटा न मिलने पर डेटाबेस पर जाएँ, फिर परिणाम को अगली बार के लिए संग्रहीत करें।
def get_user(cache, db, uid):
cached = cache.get(uid)
if cached is not None:
return cached
value = db.load(uid)
cache.set(uid, value, ttl=300)
return valueTTL सेट करना
जीवन अवधि समाप्त होने पर पुराने प्रविष्टियाँ अपने-आप समाप्त हो जाती हैं। छोटी TTL से डेटा ताज़ा रहता है; लंबी TTL से हिट दर अधिकतम होती है। चुनाव इस आधार पर करें कि डेटा कितनी बार बदलता है।
एक पंक्ति में DAX
DAX, DynamoDB के लिए राइट-थ्रू कैश है। आप DynamoDB क्लाइंट को DAX एंडपॉइंट की ओर निर्देशित करते हैं और पढ़ने की प्रक्रिया पारदर्शी रूप से कैश का उपयोग करती है।
import amazondax
client = amazondax.AmazonDaxClient(endpoint_url='dax://my-cluster')
resp = client.get_item(TableName='users', Key={'id': {'S': uid}})कैश VPC में रहते हैं
ElastiCache और DAX VPC के भीतर चलते हैं। कैश तक पहुँचने के लिए आपका Lambda सही सुरक्षा समूह के साथ VPC से जुड़ा होना चाहिए।
कनेक्शन का पुनः उपयोग करें
कैश क्लाइंट को हैंडलर के बाहर बनाएँ, ताकि वह गर्म इनवोकेशन के दौरान बना रहे और हर कॉल पर नया कनेक्शन बनाने से बचा जा सके।
cache = connect_to_redis() # module scope, reused
def handler(event, context):
return cache.get(event['key'])लेखन पर अमान्य करें
डेटा बदलने पर कैश प्रविष्टि को अपडेट या हटाएँ, ताकि पाठकों को पुराने मान न दिखें। राइट-थ्रू और राइट-अराउंड दो रणनीतियाँ हैं।
Memcached बनाम Redis
Memcached सरल और बहु-थ्रेडेड है; Redis में डेटा संरचनाएँ, स्थायित्व और प्रतिकृति जैसी सुविधाएँ हैं। अधिक समृद्ध सुविधाओं की आवश्यकता हो तो Redis चुनें।
कैश कब न करें
कैशिंग जटिलता बढ़ाती है। ऐसे डेटा के लिए इसे छोड़ दें जिसे बहुत कम पढ़ा जाता है या जिसे हमेशा पूरी तरह अद्यतन होना चाहिए और जिसमें पुराना डेटा स्वीकार्य नहीं है।
हिट दर मापें
CloudWatch में कैश हिट अनुपात पर नज़र रखें। कम अनुपात का अर्थ है कि कैश मदद नहीं कर रहा और आपकी TTL या कुंजियों में सुधार की आवश्यकता हो सकती है।
त्वरित जाँच
कैशिंग संबंधी अपने ज्ञान की जाँच करें।
पुनरावलोकन
आपने कैश-आसाइड पैटर्न, TTL, कनेक्शन के पुनः उपयोग, अमान्यकरण और हिट-दर निगरानी का उपयोग करके ElastiCache और DAX से विलंबता तथा DB लोड कम करना सीखा।
एआई शिक्षक के साथ सर्वररहित AWS Lambda विकास सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 12
- पाठ
- 48
अक्सर पूछे जाने वाले प्रश्न
क्या “Amazon ElastiCache और DAX के साथ कैशिंग” पाठ निःशुल्क है?
हाँ—“Amazon ElastiCache और DAX के साथ कैशिंग” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और सर्वररहित AWS Lambda विकास पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। सर्वररहित AWS Lambda विकास पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“Amazon ElastiCache और DAX के साथ कैशिंग” में मैं क्या सीखूँगा?
जानें कि ElastiCache (Redis) और DynamoDB Accelerator (DAX) का उपयोग करने वाले Lambda फ़ंक्शन के लिए मेमोरी-आधारित कैशिंग विलंबता और डेटाबेस भार को कैसे घटाती है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ सर्वररहित AWS Lambda विकास का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या सर्वररहित AWS Lambda विकास शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर सर्वररहित AWS Lambda विकास शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 4वाँ पाठ है।
“Amazon ElastiCache और DAX के साथ कैशिंग” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस सर्वररहित AWS Lambda विकास पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर सर्वररहित AWS Lambda विकास पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- DynamoDB के साथ एकीकरण
- फ़ाइल भंडारण और इवेंट के लिए S3
- उचित डेटा भंडार चुनना
- Amazon ElastiCache और DAX के साथ कैशिंग