Redis යනු මතකය තුළ සියලු දත්ත රැඳවන වේගවත් NoSQL දත්ත ගබඩා වේ. මතකය පිරී ගියහොත් සේවා අත්හිටවීමක් ඇතිවෙයි. එය වළක්වා ගැනීමට Redis දෙකක් එකට ක්රියා කරන: කී පළාත් අවසන් කිරීම (Expiration) සහ Eviction (ඉවත් කිරීම) යන යන්ත්ර.
කී පළාත් අවසන් කිරීම (Expiration) ඔබට කී එකකට ජීවිත කාලයක් (TTL) සකස් කිරීමට ඉඩ දේ. කාලය අවසන් වුනාම Redis ස්වයංක්රියව එම කී එක මකයි. උදාහරණයක් ලෙස SET session:abc "..." EX 3600 යන විධානයෙන් 3600 තත්පර (එක් පැය) පසු කී එක මකා දමයි. මෙම ක්රියාව මඟින් කෑෂ් (cache) ලෙස භාවිතා කරන විට පැරණි දත්ත එකතු නොවී මතකය නිදහස් වෙයි.
Expiration ක්රියාව දෙකෙන් සිදු වේ: Lazy expiration යනු කී එකක් ප්රවේශ කරමින් පසු TTL පරීක්ෂා කර, අවසන් නම් මකා දැමීම; Active expiration යනු පසුබැසීමේ වාරිකයක් මගින් යාමෙන් යුතුව කී සංග්රහයක් සෑම විටම පරීක්ෂා කර මකා දමයි. එකවර බොහෝ කී එකක් අවසන් වීමෙන් මතකයේ තාවකාලික උඩුගත වීමක් සිදු විය හැක, ඒ නිසා TTL වලට සුළු රැඳවීමක් (random jitter) එක් කිරීමෙන් “thundering herd” ගැටලුව වැළැක්විය හැක.
Eviction නීති Redis හි maxmemory සීමා කර ඇති විට ක්රියාත්මක වේ. මතක සීමා ඉක්මවා ගියහොත්, Redis නව ලියුම් සඳහා ඉඩ ලබා ගැනීමට පරණ කී එකක් ඉවත් කරයි. ප්රධාන නීති කිහිපයක් ඇත:
- noeviction – මතක පිරී ගියහොත් ලියුම් අසාර්ථක වේ, කියවීම් පවතී.
- allkeys-lru – සියලු කී අතර අළුත්ම භාවිතා නොකළ කී ඉවත් කරයි (සාමාන්ය cache).
- allkeys-lfu – අඩු වාරිකයෙන් භාවිතා කළ කී ඉවත් කරයි.
- volatile-* – කී වල TTL තිබේ නම් පමණක් ඉවත් කරයි (cache + පරමාර්ථ දත්ත එකතු කරන අවස්ථාවට).
ඔබේ Redis instance එකේ භාවිතය අනුව නීතිය තෝරාගත යුතුය. පූර්ණ cache එකක් නම් allkeys-lru හෝ allkeys-lfu සුදුසු, තවත් අත්යවශ්ය දත්ත සමඟ භාවිතා කරනවා නම් volatile-* නීතිය තෝරා ගත හැක.
ශ්රී ලංකාවට ඇති වැදගත්කම
ශ්රී ලංකාවේ වැඩිහිටියන්, විද්යාර්ථීන් හා ව්යාපාරිකයන් Redis භාවිතයෙන් මතක කළමනාකරණය සරල කර ගත හැක. කී පළාත් අවසන් කිරීම (TTL) භාවිතයෙන් වෙබ් ඇප්ලිකේෂන් වල cache data ස්වයංක්රියව නවීකරණය කර, සේවා වේගය වැඩි කරයි. Eviction නීති නිවැරදිව සකස් කිරීමෙන් මතක අඩු වීම හෝ දත්ත අහිමි වීමේ අවදානම අඩු කර, රුපියල් ඉතිරි කිරීමත් සමඟ පද්ධති ස්ථායිතාවය තහවුරු කරයි.
ඉතා කාලීන තොරතුරු අවශ්ය වන e‑commerce, fintech හා IoT වැනි ක්ෂේත්රවල Redis සවිස්තරාත්මකව භාවිතා කර, පාරිභෝගික අත්දැකීම වැඩිදුරටත් ඉහළ නැංවිය හැක.
අවසන් වශයෙන්, Redis හි TTL සහ Eviction නීති තේරුම් ගැනීම මතක පරිභෝජනය හොඳින් කළමනාකරණය කර, අධික පරිභෝජනයෙන් සිදු වන ගැටළු වලින් ඔබේ පද්ධතිය රක්ෂා කරයි.