
به اشتراک بگذارید
موارد فنی | بلاگ وبداده
Redis چیست؟ ۷ مزیت کلیدی و آموزش نصب روی ویندوز و لینوکس
- ماهیت Redis: یک data structure store درونحافظهای که هم نقش کش، هم دیتابیس و هم message broker را بازی میکند.
- سرعت بالا: چون داده در رم نگهداری میشود، پاسخها در حد زیرمیلیثانیه است و بار روی دیتابیس اصلی کم میشود.
- تنوع ساختار داده: پشتیبانی از رشته، لیست، set، sorted set، hash و stream — برخلاف کشهای ساده.
- نصب آسان: روی لینوکس با چند دستور APT و روی ویندوز از طریق WSL یا Memurai قابل راهاندازی است.
- صادقانه: Redis وابسته به رم است و بدون تنظیم درست persistence و امنیت، ریسک از دست رفتن داده دارد.
در یک جمله
Redis چیست و چه کاربردی دارد؟
تشبیه ساده برای درک Redis

۷ مزیت کلیدی Redis که آن را محبوب کرده است
۱) سرعت زیرمیلیثانیه
۲) تنوع ساختار داده
۳) پایداری داده (Persistence)
۴) کاربری چندمنظوره
۵) جدول امتیاز و رتبهبندی بلادرنگ
۶) محدودسازی نرخ درخواست
۷) متنباز با جامعه بزرگ
نکته درباره نسخه و لایسنس
آموزش گامبهگام نصب Redis روی لینوکس و ویندوز
مرحله ۱: نصب Redis روی لینوکس (اوبونتو/دبیان)
# گام ۱: نصب پیشنیازها
sudo apt-get install lsb-release curl gpg
# گام ۲: افزودن کلید رسمی مخزن Redis
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
sudo chmod 644 /usr/share/keyrings/redis-archive-keyring.gpg
# گام ۳: افزودن مخزن رسمی Redis به APT
echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list
# گام ۴: بهروزرسانی فهرست بستهها و نصب Redis
sudo apt-get update
sudo apt-get install redisBashنکته درباره مخزن نصب
مرحله ۲: اجرای سرویس و فعالسازی خودکار
# فعالسازی اجرای خودکار Redis هنگام بوت سیستم
sudo systemctl enable redis-server
# شروع سرویس Redis
sudo systemctl start redis-server
# بررسی وضعیت سرویس (باید active (running) باشد)
sudo systemctl status redis-serverBashمرحله ۳: بررسی صحت نصب
# تست اتصال به سرور Redis
redis-cli ping
# خروجی صحیح:
# PONG
# مشاهده نسخه نصبشده
redis-server --versionBash
مرحله ۴: کار با دادهها در redis-cli
# ورود به محیط خط فرمان Redis
redis-cli
# ذخیره و خواندن یک مقدار (نمونهای از کش)
127.0.0.1:6379> SET site:title "Webdade"
OK
127.0.0.1:6379> GET site:title
"Webdade"
# تعیین زمان انقضا برای داده کش (مثلاً ۶۰ ثانیه)
127.0.0.1:6379> EXPIRE site:title 60
(integer) 1Bashمرحله ۵: تنظیمات امنیتی و حافظه
# ویرایش فایل پیکربندی Redis
sudo nano /etc/redis/redis.conf
# مهمترین تنظیمات امنیت و حافظه را ویرایش کنید:
# bind 127.0.0.1 ::1 # محدود کردن اتصال به شبکه محلی
# requirepass YourStrongPassword # تعیین رمز عبور برای دسترسی
# maxmemory 256mb # سقف مصرف حافظه
# maxmemory-policy allkeys-lru # سیاست حذف داده هنگام پر شدن حافظه
# اعمال تغییرات با ریاستارت سرویس
sudo systemctl restart redis-serverBashهشدار امنیتی مهم
مرحله ۶: نصب Redis روی ویندوز با WSL
# روی ویندوز ابتدا WSL را فعال کنید (PowerShell با دسترسی Administrator)
wsl --install
# پس از نصب اوبونتو داخل WSL، همان مسیر لینوکس را اجرا کنید:
sudo apt update
sudo apt install redis-server
# اجرای سرویس و تست اتصال داخل WSL
sudo service redis-server start
redis-cli pingBashمقایسه Redis و Memcached؛ کدام را انتخاب کنیم؟
| معیار | Redis | Memcached |
|---|---|---|
| ساختار داده | رشته، لیست، set، sorted set، hash، stream | فقط کلید-مقدار ساده (رشته) |
| پایداری داده | دارد (RDB و AOF) | ندارد (داده فرّار است) |
| سیاست حذف داده | شش سیاست مختلف (از جمله LRU، TTL) | فقط LRU |
| کاربرد اصلی | کش، نشست، صف، آنالیتیکس، pub/sub | کش ساده با throughput بالا |
| پشتیبانی چندریسمانی | اجرای دستورها عمدتاً تکریسمانی | چندریسمانی |
از منابع معتبر
محدودیتها و معایبی که باید صادقانه بدانید
- وابستگی به رم: چون داده در حافظه نگهداری میشود، برای دیتاستهای بزرگ به رم زیاد و در نتیجه هزینه بیشتر نیاز دارید.
- ریسک از دست رفتن داده: اگر persistence درست تنظیم نشود، با کرش یا قطعی برق ممکن است دادههای در حافظه از بین برود.
- اجرای تکریسمانی دستورها: یک دستور سنگین و کند میتواند بقیه درخواستها را موقتاً بلوک کند؛ باید مراقب دستورهای پرهزینه بود.
- نبود نسخه بومی ویندوز: روی ویندوز باید از WSL یا Memurai استفاده کنید که برای محیط واقعی ایدهآل نیست.
- ملاحظه لایسنس: لایسنس AGPLv3 برای برخی سازمانها و محصولات تجاری ملاحظاتی بههمراه دارد که بهتر است پیش از استفاده بررسی شود.
عیبیابی مشکلات رایج هنگام کار با Redis
- پاسخ ندادن redis-cli ping: یعنی سرویس اجرا نیست؛ با
sudo systemctl status redis-serverوضعیت را ببینید و در صورت لزوم آن را start کنید. - خطای Connection refused: معمولاً سرویس روی پورت 6379 اجرا نیست یا تنظیم bind اجازه اتصال نمیدهد؛ مقدار bind را در redis.conf بررسی کنید.
- خطای NOAUTH Authentication required: یعنی رمز عبور تنظیم شده اما وارد نکردهاید؛ با
redis-cli -a YourPasswordیا دستور AUTH وارد شوید. - خطای OOM یا پر شدن حافظه: مقدار maxmemory و سیاست maxmemory-policy را تنظیم کنید تا Redis در پر شدن حافظه دادههای قدیمی را حذف کند.
- از دست رفتن داده پس از ریاستارت: persistence (RDB یا AOF) را در فایل پیکربندی فعال کنید تا داده روی دیسک ذخیره شود.
اجرای Redis روی زیرساخت وبداده
✅ دیتاسنترهای ایران، هلند و آلمان برای انتخاب نزدیکترین لوکیشن به کاربران شما.
✅ امکان ارتقای رم و منابع متناسب با حجم داده Redis، بدون نیاز به مهاجرت.
✅ پشتیبانی فنی ۲۴ ساعته برای کمک در راهاندازی و رفع مشکلات.
پرسشهای پرتکرار درباره Redis
Redis دقیقاً چه نوع پایگاهدادهای است؟
Redis یک پایگاهداده درونحافظهای (in-memory) از نوع کلید-مقدار است که در دسته دیتابیسهای NoSQL قرار میگیرد. دادهها را بهجای دیسک در حافظه رم نگه میدارد و علاوه بر دیتابیس، نقش کش و message broker را هم ایفا میکند. همین معماری دلیل سرعت بسیار بالای آن است.
آیا Redis دادهها را پس از خاموش شدن سرور نگه میدارد؟
بله، در صورت تنظیم درست. Redis دو روش پایداری دارد: RDB که بهصورت دورهای snapshot میگیرد و AOF که هر دستور تغییردهنده را ثبت میکند. اگر این گزینهها فعال باشند، داده روی دیسک ذخیره و پس از ریاستارت بازیابی میشود؛ اما اگر هیچکدام فعال نباشد، داده فقط در حافظه میماند و با خاموشی از بین میرود.
تفاوت اصلی Redis و Memcached چیست؟
هر دو کش درونحافظهای هستند، اما Redis از ساختار داده متنوع (لیست، set، sorted set، hash و…) و پایداری داده پشتیبانی میکند، در حالی که Memcached فقط کلید-مقدار ساده را نگه میدارد و persistence ندارد. Memcached برای کش بسیار ساده و چندریسمانی مناسب است و Redis برای کاربردهای پیچیدهتر مثل نشست، صف و آنالیتیکس.
Redis روی چه پورتی اجرا میشود؟
Redis بهصورت پیشفرض روی پورت 6379 اجرا میشود. میتوانید این پورت را در فایل پیکربندی redis.conf تغییر دهید. برای تست اینکه سرویس روی این پورت در حال اجراست، کافی است دستور redis-cli ping را بزنید؛ دریافت پاسخ PONG یعنی همهچیز درست است.
آیا میتوان Redis را روی ویندوز نصب کرد؟
Redis نسخه بومی رسمی برای ویندوز ندارد. برای اجرای آن روی ویندوز میتوانید از WSL (زیرسیستم ویندوز برای لینوکس) استفاده کنید و همان نسخه لینوکسی را اجرا کنید، یا از ابزار Memurai که نسخهای سازگار با ویندوز است بهره ببرید. برای محیط عملیاتی، اجرای Redis روی یک سرور لینوکس توصیه میشود.
Redis برای وردپرس چه کاربردی دارد؟
در وردپرس میتوان از Redis بهعنوان Object Cache استفاده کرد؛ یعنی نتایج پرتکرار کوئریهای دیتابیس در Redis کش میشوند تا در درخواستهای بعدی بهجای مراجعه به دیتابیس، مستقیماً از حافظه خوانده شوند. این کار بار روی دیتابیس را کم و زمان بارگذاری صفحات را بهخصوص در سایتهای پربازدید کوتاهتر میکند.
آیا نصب Redis رایگان است؟
بله، Redis نرمافزاری متنباز است و نصب و استفاده از نسخه اوپنسورس آن رایگان است. از نسخه ۸ به بعد تحت لایسنس AGPLv3 عرضه میشود. البته اجرای آن به یک سرور یا سیستم با منابع کافی نیاز دارد؛ هزینه واقعی معمولاً مربوط به زیرساخت سرور است، نه خود نرمافزار.
چطور Redis را امن کنم؟
مهمترین کارها این است که با گزینه requirepass یک رمز عبور قوی تعیین کنید، با تنظیم bind اتصال را به شبکه محلی محدود کنید، پورت Redis را روی اینترنت باز نگذارید و با فایروال دسترسی را کنترل کنید. همچنین میتوانید دستورهای خطرناک را با rename-command غیرفعال کنید تا امنیت بیشتری داشته باشید.
Redis چقدر رم مصرف میکند؟
میزان مصرف رم به حجم دادهای که ذخیره میکنید بستگی دارد، چون همه دادهها در حافظه نگهداری میشوند. برای کنترل مصرف میتوانید با گزینه maxmemory یک سقف تعیین کنید و با maxmemory-policy مشخص کنید هنگام پر شدن حافظه کدام دادهها حذف شوند. برآورد درست رم یکی از مهمترین نکات پیش از راهاندازی است.
جمعبندی و قدم بعدی شما
جمعبندی سریع
✅ روی لینوکس با مخزن رسمی APT بهسادگی نصب میشود.
✅ حتماً requirepass و bind و سقف حافظه را تنظیم کنید.
✅ برای پایداری داده، RDB یا AOF را فعال نگه دارید.



