Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) · पाठ

कैश निष्कासन और समाप्ति

कैश का आकार प्रबंधित करने, समाप्ति समय (TTL) निर्धारित करने और कैश अमान्यकरण संभालने की तकनीकों में दक्षता प्राप्त कीजिए।

पाठ 3, कुल 4 में से11 चरण

कैश निष्कासन और समाप्ति, CoddyKit पर Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। इस अध्ययन पथ के 3 तक कोई भी पाठ पूरा पढ़ना निःशुल्क है — इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ व्यावहारिक अभ्यास भी उपलब्ध कराता है। यह Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

कैश की समय-सीमा क्यों महत्वपूर्ण है

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

इस पाठ में Redis की समाप्ति और निष्कासन तकनीकों का उपयोग करके इन समस्याओं को संभालना सीखा जाएगा।

Time To Live (TTL) का परिचय

Time To Live (TTL) यह निर्धारित करता है कि कैश की कोई वस्तु कितनी देर तक मान्य रहेगी। TTL समाप्त होने पर Redis स्वतः उस कुंजी को हटा देता है।

  • पुराने डेटा को अनिश्चित समय तक दिखाए जाने से रोकता है।
  • नए और अधिक प्रासंगिक डेटा के लिए मेमोरी खाली करता है।

EXPIRE से TTL सेट करना

EXPIRE कमांड किसी मौजूदा कुंजी पर सेकंड में समाप्ति समय सेट करता है। निर्धारित समय के बाद कुंजी अपने-आप हटा दी जाएगी।

किसी कुंजी को सेट करके उसकी समाप्ति 10 सेकंड बाद निर्धारित करने का प्रयास करें:

SET myapp:user:1 "John Doe"
EXPIRE myapp:user:1 10
TTL myapp:user:1

SETEX: एक साथ सेट करना और समाप्त करना

दो कमांड (SET, फिर EXPIRE) इस्तेमाल करने के बजाय, आप SETEX का उपयोग करके कुंजी का मान और उसकी समाप्ति का समय परमाणु रूप से (एक ही प्रक्रिया में) सेट कर सकते हैं।

नई कुंजियों के लिए सामान्यतः यह तरीका पसंद किया जाता है, क्योंकि यह अधिक कुशल है।

SETEX myapp:product:5 20 "LaptopX"
TTL myapp:product:5

TTL और स्थायित्व की जाँच

आप TTL कमांड से किसी कुंजी का शेष TTL देख सकते हैं। यह शेष सेकंड लौटाता है; यदि कुंजी मौजूद नहीं है तो -2, और यदि कुंजी मौजूद है लेकिन उसकी कोई समाप्ति निर्धारित नहीं है तो -1 लौटाता है।

PERSIST कमांड किसी कुंजी की समाप्ति हटा देता है, जिससे वह फिर से स्थायी हो जाती है।

SET temp:token "abc123"
EXPIRE temp:token 5
TTL temp:token
PERSIST temp:token
TTL temp:token

PEXPIRE से मिलीसेकंड की सटीकता

अधिक सटीक नियंत्रण के लिए PEXPIRE और PSETEX अपने सेकंड-आधारित समकक्षों की तरह ही काम करते हैं, लेकिन समाप्ति समय मिलीसेकंड में स्वीकार करते हैं।

यह बहुत कम समय तक रहने वाले कैश या विशेष समय-संबंधी आवश्यकताओं के लिए उपयोगी हो सकता है।

SET mskey:data "important info"
PEXPIRE mskey:data 5000
PTTL mskey:data

स्वचालित निष्कासन नीतियाँ

जब आपके Redis कैश की मेमोरी समाप्त हो जाती है, तब क्या होता है? Redis को स्थान खाली करने के लिए कुंजियों को स्वतः हटाने के लिए कॉन्फ़िगर किया जा सकता है।

यह व्यवहार maxmemory सेटिंग और निष्कासन नीति द्वारा नियंत्रित होता है।

सामान्य निष्कासन नीतियाँ

Redis maxmemory-policy के माध्यम से कॉन्फ़िगर की जाने वाली कई निष्कासन नीतियाँ उपलब्ध कराता है:

  • noeviction: मेमोरी सीमा पहुँचने पर लेखन प्रक्रियाओं में त्रुटियाँ लौटाता है।
  • allkeys-lru: सभी कुंजियों में से हाल में सबसे कम उपयोग की गई (LRU) कुंजियों को हटाता है।
  • volatile-lru: केवल उन कुंजियों में से LRU कुंजियों को हटाता है जिनके लिए स्पष्ट TTL सेट किया गया हो।
  • allkeys-random: सभी कुंजियों में से यादृच्छिक कुंजियों को हटाता है।

कैश को मैन्युअल रूप से अमान्य करना

कभी-कभी डेटा अप्रत्याशित रूप से बदल जाता है या आपको यह सुनिश्चित करना होता है कि कैश प्रविष्टि तुरंत हटा दी जाए। ऐसी स्थिति में आप किसी कुंजी को मैन्युअल रूप से अमान्य कर सकते हैं।

DEL कमांड Redis से एक या अधिक निर्दिष्ट कुंजियों को तुरंत हटा देता है।

SET cache:user:1 "user_data_old"
GET cache:user:1
DEL cache:user:1
GET cache:user:1

त्वरित जाँच: समाप्ति

आपके पास session:user:123 नाम की Redis कुंजी है। आप चाहते हैं कि यह अभी से ठीक 30 मिनट बाद समाप्त हो जाए। इसे करने के लिए कौन-सा कमांड इस्तेमाल करेंगे?

पुनरावलोकन: निष्कासन और समाप्ति

इस पाठ में आपने Redis में कैश किए गए डेटा को प्रबंधित करने की प्रमुख तकनीकें सीख ली हैं:

  • समय-आधारित समाप्ति निर्धारित करने के लिए EXPIRE, SETEX और PEXPIRE का उपयोग करना।
  • कुंजियों की अवधि प्रबंधित करने के लिए TTL और PERSIST को समझना।
  • मेमोरी सीमाओं को संभालने के लिए स्वचालित निष्कासन नीतियों के बारे में सीखना।
  • तुरंत अपडेट के लिए DEL से कैश को मैन्युअल रूप से अमान्य करना।

आपके Redis कैश में डेटा को ताज़ा बनाए रखने और मेमोरी का कुशल उपयोग करने के लिए ये कौशल अत्यंत महत्वपूर्ण हैं!

शुरुआत निःशुल्क

एआई शिक्षक के साथ Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) सीखें — निःशुल्क

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

पाठ्यक्रम
12
पाठ
48

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

क्या “कैश निष्कासन और समाप्ति” पाठ निःशुल्क है?

हाँ — Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) अध्ययन पथ के 3 तक कोई भी पाठ, जिसमें “कैश निष्कासन और समाप्ति” भी शामिल है, यहाँ वेब पर पूरा पढ़ना निःशुल्क है। इसके बाद CoddyKit PRO हर पाठ अनलॉक करता है, साथ ही अंतर्निर्मित कोड संपादक और चौबीसों घंटे एआई शिक्षक के साथ इंटरैक्टिव अभ्यास भी उपलब्ध कराता है। Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“कैश निष्कासन और समाप्ति” में मैं क्या सीखूँगा?

कैश का आकार प्रबंधित करने, समाप्ति समय (TTL) निर्धारित करने और कैश अमान्यकरण संभालने की तकनीकों में दक्षता प्राप्त कीजिए। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“कैश निष्कासन और समाप्ति” पाठ पूरा करने में कितना समय लगता है?

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

क्या मैं इस Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

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

  1. कैश क्यों? कैशिंग का परिचय
  2. बुनियादी कैश पैटर्न लागू करना
  3. कैश निष्कासन और समाप्ति
  4. Cache stampede और thundering herd को रोकना
← Redis कैशिंग और संदेश-विनिमय (Pub/Sub, Streams) पर वापस जाएँ