در این مقاله، به بررسی نحوه خاموش کردن سرور Redis و تفاوت بین دو گزینه shutdown save
و shutdown nosave
میپردازیم. این دو گزینه به شما امکان میدهند تا تصمیم بگیرید که آیا دادههای موجود در سرور را ذخیره کنید یا خیر. این موضوع به ویژه در محیطهای تولیدی (Production) بسیار مهم است، زیرا از دست دادن دادهها میتواند پیامدهای جدی داشته باشد.
مقدمه
زمانی که شما سرور Redis را خاموش میکنید، دو گزینه اصلی دارید:
- ذخیره دادهها (
shutdown save
): این گزینه باعث میشود که تمام دادههای موجود در حافظه (RAM) سرور، بر روی دیسک ذخیره شوند. این کار تضمین میکند که پس از راهاندازی مجدد سرور، دادهها از دست نروند. - عدم ذخیره دادهها (
shutdown nosave
): این گزینه باعث میشود که دادههای موجود در حافظه سرور ذخیره نشوند. در نتیجه، پس از راهاندازی مجدد سرور، دادههای جدیدی که از آخرین ذخیرهسازی ایجاد شدهاند، از دست خواهند رفت.
مراحل عملی
1. راهاندازی سرور و ایجاد کلیدها
ابتدا سرور Redis را راهاندازی میکنیم و چند کلید نمونه ایجاد میکنیم:
redis-server
سپس به سرور متصل میشویم و دو کلید ایجاد میکنیم:
redis-cli
set key1 "value1"
set key2 "value2"
با استفاده از دستور get
میتوانیم مقادیر این کلیدها را بررسی کنیم:
get key1 # نتیجه: "value1"
get key2 # نتیجه: "value2"
2. خاموش کردن سرور با ذخیره دادهها (shutdown save
)
حال اگر بخواهیم سرور را خاموش کنیم و دادهها را ذخیره نماییم، از دستور زیر استفاده میکنیم:
shutdown save
پس از اجرای این دستور، سرور دادهها را بر روی دیسک ذخیره کرده و خاموش میشود. اگر دوباره سرور را راهاندازی کنیم، دادهها همچنان وجود خواهند داشت:
redis-server
redis-cli
get key1 # نتیجه: "value1"
get key2 # نتیجه: "value2"
3. خاموش کردن سرور بدون ذخیره دادهها (shutdown nosave
)
حال فرض کنید یک کلید جدید ایجاد میکنیم:
set key3 "value3"
اگر سرور را با گزینه nosave
خاموش کنیم، دادههای جدید ذخیره نخواهند شد:
shutdown nosave
پس از راهاندازی مجدد سرور، کلید key3
وجود نخواهد داشت:
redis-server
redis-cli
get key3 # نتیجه: (nil)
اما کلیدهای قدیمی که قبلاً ذخیره شدهاند (key1
و key2
) همچنان وجود دارند:
get key1 # نتیجه: "value1"
get key2 # نتیجه: "value2"
نکات مهم
- استفاده در محیط تولیدی: در محیطهای تولیدی، معمولاً از گزینه
shutdown save
استفاده میشود تا از دست رفتن دادهها جلوگیری شود. این کار به ویژه زمانی مهم است که دادههای حیاتی در سرور ذخیره شدهاند. - استفاده در محیط آزمایشی: در محیطهای آزمایشی یا توسعه، ممکن است از گزینه
shutdown nosave
استفاده شود تا دادههای موقت ذخیره نشوند و فضای دیسک بیهوده اشغال نشود. - خوشهبندی (Clustering): در محیطهایی که از خوشهبندی (Clustering) استفاده میشود، ممکن است برخی از سرورها نیاز به ذخیره دادهها نداشته باشند. در این موارد، میتوان از گزینه
shutdown nosave
برای سرورهای خاصی استفاده کرد.
نتیجهگیری
استفاده از دستور shutdown
در Redis به شما امکان میدهد تا سرور را به صورت کنترلشده خاموش کنید و تصمیم بگیرید که آیا دادهها را ذخیره کنید یا خیر. این قابلیت به ویژه در محیطهای تولیدی بسیار مهم است، زیرا از دست رفتن دادهها میتواند پیامدهای جدی داشته باشد. با استفاده صحیح از گزینههای save
و nosave
، میتوانید اطمینان حاصل کنید که دادههای شما به درستی مدیریت میشوند.