মানবজীবনে রেডিসের ভুমিকা
Previous Blog: #রেডিস_কথন ১
আমরা আজকে রেডিসের ইউজকেস কি, কি ধরনের সমস্যা সমাধানে রেডিস বেশি ব্যবহৃত হয় তা আলোচনা করবো। সিরিজের আগের ব্লগ মিস হয়ে গেলে, কমেন্ট থেকে খুজে নিন…
1. Cache
এপ্লিকেশনে অনেক ডাটা খুব কমই আপডেট করতে হয় যেমন: কোম্পানির নাম, লোগো, ক্যাটাগরি সমুহ, এবাউট পেজের ডাটা,পোস্ট, একটা প্রোডাক্টের মুল ইনফরমেশন ইত্যাদি ইত্যাদি ।
খুব আপডেট হয় কিন্তু অনেক রিড করতে হয় এমন ডাটা ক্যাশ করলে ফাস্টার রেস্পন্স পাওয়া যায় । ধরেন এই পোস্ট/ব্লগ ই আমি এখন লিখছি, বানান ঠিক করতে ধরেই নিলাম কয়েকবার আপডেট করতে হলো ।
কিন্তু এরপর আর কখনো আপডেট করবো বলে মনে হয় না। রিড কিন্তু ৫/১০ টা করে একবছর পরেও ২/৩ টা ভিজিট হতেই পারে ৷
একটা ই-কমার্সের প্রডাক্ট এর মুল ইনফরমেশন নাম, সাইজ, কালার,ডিটেলস, ইমেজগুলোর লিংক, ইত্যাদি কিন্তু ডাটাবেজে একবার ক্রিয়েট হয়ে গেলে আর প্রতিদিন আপডেট করতে হয় না ।
ডিস্ক বেজড স্টোরেজে ডাটা রিড/রাইট করতে তুলনামূলকভাবে মেমরি থেকে বেশি সময় লাগে ।
অতএব পরবর্তীতে ইউজার ওই ডাটা দেখতে চাইলে মেমরি থেকে দেখালেই ফাস্টার রেস্পন্স হলো
প্রায় ডাটাবেজ থেকেই রেডিসের লেটেন্সি অনেক কম |
এছাড়া চাইলেই, ফুল পেজও ক্যাশিং করা যায় ৷
রেডিস হচ্ছে ক্যাশিং জগতের জন উইক।
নাম চিনলেই সবাই চেনে এবং বড় ভাই হিসেবে সালাম দেয় ( নো র্যাগিং) |
2.Session Store:
ইউজার এর সেশন স্টোরের জন্য রেডিস খারাপ চয়েজ নাহ ৷ অথেনটিকেশন এ সেশন কি ভেরিফাই এর জন্য ডাটাবেজে যাওয়া লাগলো না বারবার। 95%+ api ই তোহ Auth বেজড
3.Expiration Data:
রেডিস Key-value স্টোরেজ । এর যেকোনো Key কে ( TTL — Time To Live) সেট করা যায়। এর অর্থ নির্দিষ্ট সময় পর রেডিস ওই key কে স্টোরেজ থেকেই ডিলিট করে দেয় ।
OTP কয়েক মিনিট পর ইনভ্যালিডেট হয়ে যায় ।
Access Token এর মেয়াদ ও অনেক কম হয় । EXPIREAT কমান্ড দিয়ে ঠিক কোন সময় Key ডিলিট করতে হবে সেটাও বলা যায়। User intentionally logout করলে Key কে ডিলিট করলে কিন্তু একই টোকেন আবার ইউজ করা যাবে না
4.Rate Limit :
লগিন API, Payment API খুবই সেন্সিটিভ API. হ্যাকারের উৎপাতও থাকে অনেক ।
যেকোনো রিসোর্স কে লিমিটেড এক্সেস দেয়ার জন্য রেট লিমিট ইউজ করা হয় ৷
ধরেন লগিন API কে মিনিটে ২ বারের বেশি হিট দিতে চাচ্ছেন না কোনো ইউজারকে সেক্ষেত্রে তার আইপি/ডিভাইস ইউনিক আইডেন্টিফায়ার/ব্রাউজার আইডেন্টিফায়ার কে Key হিসেবে ইউজ করে নাম্বার ডাটা টাইপ কে ইনক্রিমেন্ট এন্ড লজিক্যাল কন্ডিশনাল অপারেটর ইউজ করলেই কিন্তু সহজেই ইম্পলিমেন্ট করা যায় রেডিসে ( এই লাইনগুলো বলতে অনেক ফ্যান্সি লাগছে আমার)
আজ এটুকুই থাক…
বাকি অংশ আসছে শীঘ্রই….
মানুষ মাত্রই ম্যাশিন নাহ, এতএব ভুল ত্রুটি ধরে দিলেই মার্জনীয়।
ধন্যবাদ