Skip to content
VDS · ڈیٹا بیس

Redis: کیش اور قطاریں

VDS پر Redis انسٹال کرنا، پاس ورڈ اور لوکل ایڈریس سے بائنڈنگ، میموری کی حد اور eviction پالیسی، اور کیش اور قطار کے درمیان فرق۔

اپ ڈیٹ 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 کو باہر expose نہ کریں۔ اگر آپ کو بیرونی رسائی درکار ہے تو صرف 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 * استعمال نہ کریں: یہ کمانڈ تمام کیز پر iteration کے دوران Redis کو بلاک کر دیتی ہے۔ iteration کے لیے SCAN استعمال کریں۔