နားလည်ထားရမယ့် အချက်
Cache correctness က TTL တစ်ခုတည်းနဲ့မပြီးပါ။ Entity update event အပေါ် targeted deletion၊ schema ပြောင်းရာတွင် key version၊ list cache များအတွက် dependency mapping လိုပါတယ်။ Logical namespace version က keys အများကြီးချက်ချင်းမဖျက်ဘဲ new namespace သို့ပြောင်းနိုင်သော်လည်း old keys ကို expiry ဖြင့်ရှင်းရပါတယ်။
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
Tutorial 42 update ဖြစ်လျှင် detail key နဲ့ category list keys ကိုဖျက်မယ်။ Payload schema ပြောင်းလျှင် `v1` မှ `v2` ပြောင်းမယ်။ Bulk import အတွက် `catalog:namespace-version` counter တိုးပြီး requests အသစ်ကို namespace အသစ်သုံးစေမယ်။
အတူတူ စမ်းရေးကြည့်မယ်
SET catalog:namespace-version 7
SET catalog:v7:tutorial:42 '{"title":"Redis"}' EX 300
DEL catalog:v7:tutorial:42
DEL catalog:v7:list:data:page:1
INCR catalog:namespace-versionSelective invalidation နှင့် instant namespace rollover နှစ်မျိုးရမည်။၅ မိနစ် စမ်းကြည့်
Author rename လုပ်လျှင် ဘယ် cache keys များပျက်ရမလဲ dependency table ဆွဲပါ။
သတိလေးတစ်ချက်
Version တိုးပြီး old keys ကို expiry မပေးထားလျှင် orphaned memory စုပြုံလာပါတယ်။
Redis — Keyspace Notifications — Redis