وقتی با نکست اپلیکیشن واقعی (production) میسازیم، خیلی زود به این سؤال میرسیم:
«چه دیتابیسی مناسب پروژه من است؟ و آیا فقط دیتابیس کافی است؟»
بیایید مرحلهبهمرحله جلو برویم.

نکست به خودی خود وابسته به دیتابیس خاصی نیست، اما در پروژههای واقعی این گزینه ها بیشترین استفاده را دارند:
محبوبترین انتخاب برای پروژههای جدی 👑
ساختار رابطهای و بسیار پایدار
مناسب سیستمهای مالی، فروشگاهی، بلاگ و داشبورد
سازگار عالی با Prisma و Drizzle
انتخاب اول برای اکثر MVPها و استارتاپها
📌 اگر دادهی شما ساختارمند و مهم است، PostgreSQL انتخاب امنی است.
مشابه PostgreSQL اما سادهتر
مناسب پروژههای متوسط
یادگیری آسان
استفاده زیاد در پروژههای قدیمیتر
دیتابیس NoSQL و سندمحور
انعطافپذیر برای دادههای بدون ساختار ثابت
مناسب پروژههایی با تغییرات سریع مدل داده
استفاده زیاد در MVPهای خیلی سریع
⚠️ اما برای گزارشگیری و کوئری های پیچیده، همیشه بهترین گزینه نیست.
ردیس Redis دیتابیس اصلی نیست.
Redis یک in-memory data store است؛ یعنی دادهها را در رَم RAM نگه میدارد و بهشدت سریع است ⚡
> Redis معمولاً جایگزین PostgreSQL یا MongoDB نمیشود،
بلکه در کنار آنها استفاده میشود.
فرض کن:
لیست پستهای بلاگ
تنظیمات سایت
پروفایل کاربر
⏳ هر بار از PostgreSQL خوانده شود
اینجا Redis میآید وسط:
اول Redis → اگر نبود → دیتابیس اصلی → ذخیره در Redis
نتیجه؟
سرعت بیشتر
فشار کمتر روی دیتابیس اصلی
تجربه کاربری بهتر
در نکست (خصوصاً با اپ روتر App Router):
نگهداری نشست session کاربر
توکنها
اطلاعات موقت لاگین
رِدیس برای این کار ایدهآل است چون:
سریع است
دادهها موقتی هستند
نیاز به ذخیره دائمی ندارند
برای:
APIها
فرم لاگین
ارسال OTP
رِدیس کمک میکند بفهمیم:
> «این IP در ۱ دقیقه چند درخواست زده؟»
کاری که با دیتابیس معمولی هم میشود،
اما خیلی کندتر و پرهزینهتر.
کاربر زیاد دارد
API پرترافیک دارد
دادههایی دارد که زیاد خوانده میشوند اما کم تغییر میکنند
لاگین، سشن، OTP یا کش نیاز دارد
پروژه خیلی کوچک است
ترافیک کم است
فقط CRUD ساده دارید
فعلاً Redis لازم نیست؛ پیچیدگی اضافه نکن.
PostgreSQL / MongoDB → دیتابیس اصلی (دادههای دائمی)
ردیس → حافظه سریع برای کش، سشن و دادههای موقت
در نکست حرفهای، اینها رقیب هم نیستند؛ مکمل هم هستند