Redis چیست؟
دیتابیس کلید-مقدار درونحافظهای (In-Memory) فوقسریع؛ عمدتاً برای Cache، Session و صفهای ساده استفاده میشود.
چرا مهم است؟
خواندن از دیتابیس اصلی برای هر درخواست هزینه دارد؛ Redis با نگهداشتن داده پرتکرار در RAM، زمان پاسخ را از میلیثانیههای دورقمی به زیر یک میلیثانیه میرساند.
تعریف
Redis (REmote DIctionary Server) داده را بهصورت جفت کلید-مقدار در حافظه (RAM) نگه میدارد؛ همین باعث سرعت بسیار بالای آن نسبت به دیتابیسهای روی دیسک میشود.
ساختارهای داده پشتیبانیشده
String -> SET user:1:name "Ali"
Hash -> HSET user:1 name "Ali" age 30
List -> LPUSH recent-orders "order:99"
Set -> SADD tags "backend" "dotnet"
Sorted Set -> ZADD leaderboard 100 "user:1"
کاربردهای رایج
- Cache: ذخیره نتیجه Queryهای پرتکرار برای کاهش فشار روی دیتابیس اصلی.
- Session Store: نگهداری Session کاربر بین چند Instance از یک برنامه وب.
- Rate Limiting / Leaderboard: با Sorted Set و شمارندههای اتمی.
اشتباه رایج
❌ استفاده از Redis بهعنوان تنها منبع حقیقت (Source of Truth) داده مهم بدون Persistence مناسب (RDB/AOF) — چون داده در RAM است، بدون تنظیم درست Persistence با ریاستارت سرور از دست میرود.
منبع و مطالعه بیشتر
خلاصه
Redis داده را بهشکل کلید-مقدار در حافظه نگه میدارد و برای Cache، Session و Rate Limiting فوقسریع است. بدون تنظیم Persistence مناسب، آن را بهعنوان تنها منبع داده مهم استفاده نکنید. مرجع کامل: Redis Docs و Microsoft Learn.
