Thuta Learning
ရှာဖွေရန်
Redis
BasicData & Databasesbeginner

Keys၊ Namespaces နှင့် SCAN

ဒီခန်းပြီးရင် ဘာတတ်သွားမလဲ

  • Keys၊ Namespaces နှင့် SCAN concept ကို နားလည်ရှင်းပြနိုင်ရန်
  • နမူနာ Redis command/code ကို ကိုယ်တိုင် run ပြီး output စစ်နိုင်ရန်
  • Tutorial Platform project နှင့် production scenario တွင် မှန်ကန်စွာအသုံးချနိုင်ရန်

နားလည်ထားရမယ့် အချက်

Redis key က global namespace ထဲရှိ binary-safe string ဖြစ်ပါတယ်။ `app:entity:id:purpose` ပုံစံက ownership နဲ့ debugging ကိုရှင်းစေပြီး environment/tenant boundary ကိုလည်းထည့်နိုင်ပါတယ်။ `KEYS *` က dataset အားလုံးကိုတစ်ခါတည်း scan လုပ်လို့ production မှာ block နိုင်ပါတယ်။ Incremental `SCAN` က safer ဖြစ်သော်လည်း iteration အတွင်း duplicates/missing changes ဖြစ်နိုင်လို့ snapshot မဟုတ်ပါ။

လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်

Tutorial Platform အတွက် `tutorial:42:card`၊ `session:<token>`၊ `rate:user:42:<window>` နဲ့ `leaderboard:weekly:2026-W35` keys ကိုသတ်မှတ်မယ်။ `TYPE`၊ `TTL`၊ `MEMORY USAGE` နဲ့ `OBJECT ENCODING` ဖြင့် unknown key ကိုစစ်ပြီး `SCAN MATCH tutorial:* COUNT 100` ဖြင့် batch iterate လုပ်မယ်။

အတူတူ စမ်းရေးကြည့်မယ်

shell
SET tutorial:42:card '{"title":"Redis"}' EX 300
TYPE tutorial:42:card
TTL tutorial:42:card
MEMORY USAGE tutorial:42:card
SCAN 0 MATCH tutorial:* COUNT 100
You should see
Key type၊ remaining TTL၊ memory estimate နှင့် cursor-based scan result ရမည်။

၅ မိနစ် စမ်းကြည့်

Development/production နှင့် tenant နှစ်ခုခွဲနိုင်သော key convention တစ်ခုရေးပြီး example keys ငါးခုဖန်တီးပါ။

သတိလေးတစ်ချက်

User input တိုက်ရိုက် key ထဲထည့်ရင် unbounded cardinality၊ collision နဲ့ sensitive data leak ဖြစ်နိုင်ပါတယ်။ Normalize/hash လုပ်ပြီး limit ထားပါ။

Redis — KeyspaceRedis

ဒီနေရာမှာ လူအများမှားတတ်တယ်

  • User input တိုက်ရိုက် key ထဲထည့်ရင် unbounded cardinality၊ collision နဲ့ sensitive data leak ဖြစ်နိုင်ပါတယ်။ Normalize/hash လုပ်ပြီး limit ထားပါ။
  • နမူနာ command ကို production Redis ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test instance နဲ့ recoverable data ပေါ်တွင် အရင်အတည်ပြုပါ။

လေ့ကျင့်ခန်း

Development/production နှင့် tenant နှစ်ခုခွဲနိုင်သော key convention တစ်ခုရေးပြီး example keys ငါးခုဖန်တီးပါ။

You'll know it worked when: Key type၊ remaining TTL၊ memory estimate နှင့် cursor-based scan result ရမည်။

Keys၊ Namespaces နှင့် SCAN | Thuta Learning