در بسیاری از موارد، پس از ایجاد یک کلید و تعیین زمان انقضای آن، ممکن است نیاز باشد تا زمان انقضای کلید حذف شود و کلید بهصورت دائمی در پایگاهداده باقی بماند. اینجاست که دستور Persist به کار میآید. این دستور به کاربران امکان میدهد تا زمان انقضای یک کلید را حذف کنند و آن را به یک کلید دائمی تبدیل نمایند.
برای استفاده از این دستور، میتوان به مستندات پایگاهداده مراجعه کرد. در این مستندات، تمامی دستورات مربوط به پایگاهداده، از جمله دستور Persist، بهطور کامل توضیح داده شدهاند. این دستور از نسخه 2.0 به بعد در دسترس است و در نسخههای جدیدتر مانند نسخه 6.4 نیز پشتیبانی میشود. دستور Persist زمان انقضای یک کلید را حذف میکند و آن را از یک کلید موقت (با زمان انقضا) به یک کلید دائمی (بدون زمان انقضا) تبدیل میکند.
هنگام اجرای این دستور، دو پاسخ ممکن است دریافت شود: 1 یا 0. پاسخ 1 به این معناست که زمان انقضای کلید با موفقیت حذف شده است. پاسخ 0 نیز نشاندهنده این است که یا کلید وجود ندارد، یا اینکه کلید از قبل هیچ زمان انقضایی نداشته است.
برای درک بهتر این دستور، به مثال زیر توجه کنید:
- ابتدا یک کلید با نام 1 و مقدار hello ایجاد میکنیم و زمان انقضای آن را 120 ثانیه تعیین میکنیم:
set 1 hello ex 120
- سپس با استفاده از دستور TTL، زمان باقیمانده تا انقضای کلید را بررسی میکنیم:
TTL 1
این دستور تعداد ثانیههای باقیمانده تا انقضای کلید را نشان میدهد.
- حال اگر بخواهیم زمان انقضای این کلید را حذف کنیم، از دستور Persist استفاده میکنیم:
persist 1
اگر پاسخ 1 دریافت شود، به این معناست که زمان انقضای کلید با موفقیت حذف شده است.
- پس از اجرای دستور Persist، اگر مجدداً از دستور TTL استفاده کنیم، پاسخ -1 دریافت خواهیم کرد. این پاسخ نشاندهنده این است که کلید دیگر هیچ زمان انقضایی ندارد و بهصورت دائمی در پایگاهداده باقی خواهد ماند.
حال اگر کلیدی ایجاد کنیم که از ابتدا هیچ زمان انقضایی نداشته باشد و دستور Persist را روی آن اجرا کنیم، پاسخ 0 دریافت خواهیم کرد. این پاسخ نشاندهنده این است که کلید از قبل هیچ زمان انقضایی نداشته است.
به عنوان مثال:
- یک کلید با نام 2 و مقدار Hailo ایجاد میکنیم، بدون تعیین زمان انقضا:
set 2 Hailo
- سپس دستور Persist را روی این کلید اجرا میکنیم:
persist 2
در این حالت، پاسخ 0 دریافت میشود، زیرا کلید از ابتدا هیچ زمان انقضایی نداشته است.
در نهایت، اگر کلیدی وجود نداشته باشد و دستور Persist روی آن اجرا شود، باز هم پاسخ 0 دریافت خواهد شد. این پاسخ نشاندهنده این است که کلید مورد نظر در پایگاهداده وجود ندارد.
به طور خلاصه، دستور Persist ابزاری قدرتمند برای مدیریت زمان انقضای کلیدها در پایگاهداده است. این دستور به کاربران امکان میدهد تا کلیدهای موقت را به کلیدهای دائمی تبدیل کنند و کنترل بیشتری بر روی دادههای خود داشته باشند.