Telegram Web
✔️ تا حالا فکر کردین #Redis چطور کلیدهای #cache که #TTL شون تموم شده رو پاک می‌کنه؟

در واقع Redis از ترکیب دو مکانیزم هوشمند برای این کار استفاده می‌کنه:

▪️مکانیزم Lazy Expiration (حذف تنبل)
ساده و سرراسته.
وقتی درخواستی برای یه کلید میاد، Redis اول چک می‌کنه که اون کلید هنوز معتبره یا نه.
اگه منقضی شده باشه، همون‌جا حذفش می‌کنه و مقدار null برمی‌گردونه.

▪️مکانیزم Active Expiration (حذف فعال)
اما اگه یه کلید مدت‌ها خونده نشه چی؟ اینجاست که Redis خودش دست‌به‌کار میشه.
هر ~100ms یه بار، به‌صورت تصادفی یه batch از کلیدها (مثلاً 20 تا) رو بررسی می‌کنه.
اگه بیشتر از 25٪ اون‌ها اکسپایر شده باشن، Redis حدس می‌زنه تعداد زیادی از کلیدها منقضی شدن و فوراً یه batch دیگه رو هم بررسی می‌کنه.
این چرخه تا زمانی ادامه پیدا می‌کنه که اوضاع متعادل بشه.

در نتیجه، کلیدهای #cache دقیقاً هم‌زمان با پایان TTL حذف نمی‌شن!
ممکنه برای مدتی توی حافظه باقی بمونن، مخصوصاً وقتی حجم کلیدها بالاست.

همچنین پارامترهای مربوط به تعداد کلیدهای بررسی‌شده در هر iteration و نرخ اجرای لوپ توی تنظیمات Redis قابل تغییرن.
@Teachify | برنامه نویسی
4
✔️ گاهی وقتا زندگی یه چرخش عجیبه...
یه نفر بعد از ۲۲ سال کار توی مایکروسافت، از دنیای صفر و یک جدا میشه و میره سراغ پرورش غاز و درخت بن‌سای!

از جلسات و محیط دیجیتالی، می‌ره سمت طبیعت، خاک، سکوت و آرامش...
شاید چون دلش دیگه دنبال «ساده‌زیستیِ واقعی» بوده.

راستش رو بخوای، خیلیا توی دنیای IT (خود من هم بینشون) گاهی ته دلمون یه عشق پنهون به یه زندگی آروم‌تر داریم...
یه جایی دور از استرس، سر و صدا و نوتیفیکیشن‌ها

شاید یه روزی ما هم بزنیم به دل طبیعت.
تو چی؟
@Teachify | برنامه نویسی
12🐳2👍1👎1
2025/10/19 18:13:32
Back to Top
HTML Embed Code: