နားလည်ထားရမယ့် အချက်
List က insertion order ရှိပြီး ends နှစ်ဖက် push/pop လုပ်လို့ queue၊ stack နဲ့ bounded recent history အတွက်သင့်ပါတယ်။ Set က unordered unique members ဖြစ်ပြီး membership၊ intersection၊ union/difference အတွက်ကောင်းပါတယ်။ Queue reliability လိုအပ်လျှင် simple list pop ထက် Streams/acknowledgment model သို့ရွေးသင့်ပါတယ်။
လက်တွေ့ scenario နဲ့ ချိတ်ကြည့်မယ်
User 42 ရဲ့ recent tutorial IDs ကို list နဲ့သိမ်းပြီး `LTRIM` ဖြင့် 20 ခုကန့်သတ်မယ်။ Tutorial tag membership နှင့် user interests ကို sets ဖြင့်သိမ်းကာ `SINTER` နဲ့ recommendation overlap ရှာမယ်။
အတူတူ စမ်းရေးကြည့်မယ်
LPUSH recent:user:42 tutorial:7 tutorial:9 tutorial:12
LTRIM recent:user:42 0 19
LRANGE recent:user:42 0 -1
SADD interests:user:42 database backend redis
SADD tags:tutorial:12 redis database caching
SISMEMBER tags:tutorial:12 redis
SINTER interests:user:42 tags:tutorial:12Bounded recent list နှင့် unique interest overlap ရမည်။၅ မိနစ် စမ်းကြည့်
Recently viewed list ကို 5 ခုကန့်သတ်ပြီး duplicated value behavior စမ်းပါ။ Set နှစ်ခု၏ union/difference ကိုပါ run ပါ။
သတိလေးတစ်ချက်
List ထဲ duplicate မဖြစ်ဘူးဟုမယူဆပါနှင့်။ Uniqueness လိုရင် set သို့ list+set design လိုပါတယ်။
Redis — Data Types — Redis