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

Docker Setup နှင့် Redis CLI

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

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

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

Docker က learner တိုင်း environment တူညီစေပါတယ်။ Port ကို `127.0.0.1` သာ bind လုပ်၊ named volume သုံးပြီး AOF persistence ဖွင့်မယ်။ Password တစ်ခုတည်းက production security မဟုတ်ပေမယ့် unauthenticated local service ထက်ကောင်းပြီး နောက်ပိုင်း ACL/TLS lesson အတွက်အခြေခံဖြစ်ပါတယ်။

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

`redis:8.10-alpine` container ကို AOF နှင့် password ဖြင့် run ပါ။ `REDISCLI_AUTH` ကို command environment အဖြစ်ပေးပြီး `PING`၊ `INFO server` နဲ့ version/readiness စစ်မယ်။ Password ကို repository သို့ shell history ထဲမသိမ်းရန် production secret manager သုံးရပါတယ်။

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

bash
docker volume create redis-data

docker run --name redis-tutorial \
  -p 127.0.0.1:6379:6379 \
  -v redis-data:/data \
  -d redis:8.10-alpine \
  redis-server --appendonly yes --requirepass learnredis

docker exec -e REDISCLI_AUTH=learnredis redis-tutorial redis-cli PING
docker exec -e REDISCLI_AUTH=learnredis redis-tutorial redis-cli INFO server
You should see
`PONG` နှင့် Redis 8.10.x server information ကိုမြင်ရမည်။

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

Container stop/start ပြန်လုပ်ပြီး `SET setup:test ok` value က volume/AOF ကြောင့်ဆက်ရှိနေကြောင်းစစ်ပါ။

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

Redis port 6379 ကို public internet သို့မဖွင့်ပါနှင့်။ Password ပါလည်း network restriction၊ ACL နဲ့ TLS မပါရင်မလုံလောက်ပါ။

Redis CLIRedis

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

  • Redis port 6379 ကို public internet သို့မဖွင့်ပါနှင့်။ Password ပါလည်း network restriction၊ ACL နဲ့ TLS မပါရင်မလုံလောက်ပါ။
  • နမူနာ command ကို production Redis ပေါ် တိုက်ရိုက်မစမ်းဘဲ local/test instance နဲ့ recoverable data ပေါ်တွင် အရင်အတည်ပြုပါ။

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

Container stop/start ပြန်လုပ်ပြီး `SET setup:test ok` value က volume/AOF ကြောင့်ဆက်ရှိနေကြောင်းစစ်ပါ။

You'll know it worked when: `PONG` နှင့် Redis 8.10.x server information ကိုမြင်ရမည်။