पाठ 20 / 20
मैसेज ब्रोकर के रूप में रेडिस
Redis Pub/Sub की Streams से तुलना करें और जानें कि Kafka या RabbitMQ जैसा dedicated broker कब चुनना चाहिए।
Pub/Sub फ़ायर-एंड-फ़ॉर्गेट है
साधारण Pub/Sub संदेश केवल अभी जुड़े subscribers को देता है — कुछ भी स्टोर नहीं होता, इसलिए ऑफ़लाइन consumer उसे हमेशा के लिए मिस कर देता है। Redis Streams (XADD/XREAD) एक टिकाऊ, दोबारा-पढ़ा जा सकने वाला लॉग जोड़ता है, जब संदेश खोना नहीं चाहिए।
Kafka का विकल्प नहीं
हल्के, कम-देरी वाले मैसेजिंग के लिए रेडिस बेहतरीन है; बड़े, गारंटीड-टिकाऊ, कई-दिन लंबे इवेंट स्ट्रीम के लिए Kafka या RabbitMQ जैसा समर्पित ब्रोकर आमतौर पर बेहतर फ़िट है।
त्वरित जाँच: क्या साधारण रेडिस Pub/Sub ऑफ़लाइन subscribers के लिए संदेश स्टोर करता है?
- हाँ, हमेशा के लिए
- हाँ, पर केवल 24 घंटे के लिए
- नहीं — केवल अभी जुड़े subscribers को मिलता है
- केवल यदि AOF बंद हो
Answer
नहीं — केवल अभी जुड़े subscribers को मिलता है — Pub/Sub में कोई स्टोरेज नहीं है — जब ऑफ़लाइन consumers के लिए संदेश बचाना हो तो Redis Streams उपयोग करें।
अंतिम क्विज़ 1/8
अंतिम क्विज़
त्वरित जाँच: Live leaderboard के लिए कौन-सा Redis data type सबसे अच्छा है?
- List
- String
- Sorted set
- Pub/Sub
Answer
Sorted set — Sorted sets members को score के अनुसार अपने-आप rank में रखते हैं।
अंतिम क्विज़ 2/8
अंतिम क्विज़
त्वरित जाँच: Production server पर keys को सुरक्षित रूप से iterate करने वाला command कौन-सा है?
- KEYS *
- FLUSHALL
- DEBUG
- SCAN
Answer
SCAN — SCAN keyspace को छोटे non-blocking batches में चलता है।
अंतिम क्विज़ 3/8
अंतिम क्विज़
त्वरित जाँच: SET key value EX 60 क्या करता है?
- Stores the value and expires it after 60 seconds
- Stores it for 60 days
- Appends 60 to the value
- Locks the key
Answer
Stores the value and expires it after 60 seconds — EX value के साथ seconds में TTL सेट करता है।
अंतिम क्विज़ 4/8
अंतिम क्विज़
त्वरित जाँच: Cache-aside में cache miss पर क्या होता है?
- Redis queries the database itself
- The app reads the database and then fills the cache
- The request fails
- The cache is flushed
Answer
The app reads the database and then fills the cache — Application ही data को cache में load करने की जिम्मेदारी संभालता है।
अंतिम क्विज़ 5/8
अंतिम क्विज़
त्वरित जाँच: कौन-सा persistence option हर write command log करता है?
- RDB
- Pub/Sub
- AOF
- Streams only
Answer
AOF — AOF commands replay करके न्यूनतम हानि के साथ dataset दोबारा बनाता है।
अंतिम क्विज़ 6/8
अंतिम क्विज़
त्वरित जाँच: Pure cache के लिए कौन-सी maxmemory-policy उपयुक्त है?
- noeviction
- volatile-ttl only
- none
- allkeys-lru
Answer
allkeys-lru — सबसे कम हाल में उपयोग हुई keys हटाने से hot data memory में रहता है।
अंतिम क्विज़ 7/8
अंतिम क्विज़
त्वरित जाँच: Redis को सीधे internet पर expose करने से क्यों बचें?
- It was designed for trusted networks and can be hijacked
- It becomes slower
- It stops persisting
- It disables TTLs
Answer
It was designed for trusted networks and can be hijacked — Private interfaces से bind करें, auth जरूरी रखें और firewall उपयोग करें।
अंतिम क्विज़ 8/8
अंतिम क्विज़
त्वरित जाँच: कौन-सा Redis feature messages का durable, replayable log रखता है?
- Plain Pub/Sub
- Streams
- SCAN
- EXPIRE
Answer
Streams — Streams (XADD/XREAD) बाद में जुड़ने वाले consumers के लिए messages रखते हैं।