Skip to content
VDS · डेटाबेस

Redis: कैश और क्यू

VDS पर Redis इंस्टॉल करना, पासवर्ड और लोकल एड्रेस से बाइंडिंग, मेमोरी लिमिट और इविक्शन पॉलिसी, और कैश तथा क्यू के बीच का अंतर।

23 अगस्त 2026 को अपडेट किया गया

Redis डेटा को मेमोरी में रखता है, इसीलिए इसका इस्तेमाल कैशिंग, सेशन, काउंटर और टास्क क्यू के लिए किया जाता है। VPS पर यह तभी तक काम आता है जब तक यह मेमोरी में फिट हो: फ्री मेमोरी से बड़ा वर्किंग सेट अब स्पीडअप नहीं, बल्कि क्रैश का कारण बनता है।

इंस्टॉलेशन

apt update && apt install -y redis-server        # Debian, Ubuntu
dnf install -y redis                             # AlmaLinux, CentOS Stream
systemctl enable --now redis-server
redis-cli ping

PONG रिस्पॉन्स का मतलब है कि सर्वर चल रहा है।

ज़रूरी कॉन्फ़िगरेशन

/etc/redis/redis.conf फ़ाइल:

bind 127.0.0.1
protected-mode yes
requirepass long-random-password
maxmemory 512mb
maxmemory-policy allkeys-lru
appendonly no
systemctl restart redis-server
redis-cli -a 'password' ping

स्कैनर कुछ ही मिनटों में इंटरनेट पर खुले पासवर्ड-रहित Redis को ढूंढ लेते हैं और उसका इस्तेमाल माइनिंग के लिए करते हैं। अगर आपका एप्लिकेशन उसी मशीन पर है, तो bind 127.0.0.1 रखें और पोर्ट 6379 को बाहर एक्सपोज़ न करें। अगर आपको बाहरी एक्सेस चाहिए, तो सिर्फ़ SSH टनल या VPN इस्तेमाल करें।

मेमोरी और एविक्शन

maxmemory साफ़-साफ़ सेट करें: इसके बिना Redis तब तक बढ़ता रहता है जब तक सिस्टम प्रोसेस को मारना शुरू न कर दे। इसे टियर की मेमोरी का एक चौथाई देना वाजिब है।

टियरमशीन मेमोरीmaxmemory
VDS-12 GB256 MB
VDS-24 GB512 MB
VDS-38 GB1–2 GB
VDS-524 GB4–6 GB

पॉलिसी भूमिका पर निर्भर करती है:

  • कैश — allkeys-lru, पुरानी कीज़ चुपचाप हटा दी जाती हैं;
  • टास्क क्यू — noeviction, टास्क खोना अस्वीकार्य है, राइट एरर बेहतर है।

कैश और क्यू को एक ही डेटाबेस में बिल्कुल न मिलाएँ, ठीक इसी विरोधाभास की वजह से। इन्हें अलग डेटाबेस नंबर (SELECT 1) या दो इंस्टेंस में बाँटें।

डिस्क पर पर्सिस्टेंस

डिफ़ॉल्ट रूप से Redis समय-समय पर dump.rdb में स्नैपशॉट डंप करता है। शुद्ध कैश के लिए यह बेवजह डिस्क राइटिंग है — save बंद कर दें। क्यू के लिए appendonly yes चालू करें: इस तरह मशीन रीबूट होने के बाद भी टास्क नहीं खोएँगे।

ध्यान रखें कि डिस्क राइट स्पीड टियर से सीमित है: 60 MB/s प्रति कोर, 60 से कम नहीं और 400 MB/s से ज़्यादा नहीं।

मॉनिटरिंग

redis-cli -a 'password' info memory
redis-cli -a 'password' info stats
redis-cli -a 'password' --stat
redis-cli -a 'password' slowlog get 10

मुख्य मेट्रिक है evicted_keys: लगातार बढ़ना मतलब मेमोरी काफ़ी नहीं है और कैश फ़ायदेमंद नहीं है।

आम गलतियाँ

लक्षणकारण
NOAUTH Authentication requiredएप्लिकेशन को पासवर्ड नहीं दिया गया
OOM command not allowednoeviction पॉलिसी के साथ maxmemory तक पहुँच गया
DENIED Redis is running in protected modebind 127.0.0.1 के साथ बाहरी एक्सेस — यह जानबूझकर ऐसा है
रीबूट के बाद डेटा गायबपर्सिस्टेंस चालू नहीं है
मशीन स्वैप में चली गईmaxmemory और बाकी सर्विसेज़ का जोड़ टियर की मेमोरी से ज़्यादा है

प्रोडक्शन सर्वर पर KEYS * इस्तेमाल न करें: यह कमांड सभी कीज़ पर इटरेट करते हुए Redis को ब्लॉक कर देता है। इटरेशन के लिए SCAN इस्तेमाल करें।