আমরা রেডিস ক্যাশ এবং এটি ইনস্টল ও কনফিগার করার বিভিন্ন উপায় নিয়ে আলোচনা করব।
এজেন্ডা
- ওভারভিউ
- ক্যাশিং কী?
- রেডিস ক্যাশ
- রেডিস ক্যাশ সার্ভার ইনস্টলেশন
- ডকার ব্যবহার করে রেডিস ক্যাশ ইমেজ
ওভারভিউ
সফ্টওয়্যার ইন্ডাস্ট্রিতে ক্যাশিং বর্তমানে খুব জনপ্রিয় কারণ এটি অ্যাপ্লিকেশনের পারফরম্যান্স এবং স্কেলেবিলিটি উন্নত করে। আমরা Gmail এবং Facebook-এর মতো অনেক ওয়েব অ্যাপ্লিকেশন ব্যবহার করি এবং দেখি কত রেসপন্সিভ সেগুলো, এবং আমাদের চমৎকার ইউজার এক্সপেরিয়েন্স থাকে। ইন্টারনেটে প্রচুর ব্যবহারকারী রয়েছে এবং যদি একটি অ্যাপ্লিকেশনে বিশাল নেটওয়ার্ক ট্রাফিক এবং ডিমান্ড থাকে, তবে আমাদের অনেক জিনিস যত্ন নিতে হয় যা অ্যাপ্লিকেশনের পারফরম্যান্স এবং রেসপন্সিভনেস উন্নত করতে সাহায্য করে। তাই, তাই ক্যাশিং সমাধান আসলো এবং তাই ক্যাশিং চিত্রে এলো।
ক্যাশিং কী?
ক্যাশ হলো একটি মেমরি স্টোরেজ যা ঘন ঘন অ্যাক্সেস করা ডেটাকে অস্থায়ী স্টোরেজে সংরক্ষণ করতে ব্যবহৃত হয়, এটি পারফরম্যান্স ড্রাস্টিক্যালি উন্নত করে, অনাবশ্যক ডেটাবেস হিট এড়ায় এবং ঘন ঘন ব্যবহৃত ডেটাকে বাফারে সংরক্ষণ করে যাতে প্রয়োজন पड़লে ব্যবহার করা যায়।


উপরের ছবিতে দুটি পরিস্থিতি দেখানো হয়েছে: একটি ক্যাশ ছাড়া, আরেকটি ক্যাশ সহ। যখন ক্যাশ ব্যবহার করা হয় না, তখন ব্যবহারকারীরা ডেটা চাইলে প্রতিবার ডেটাবেস হিট করে, যা টাইম কমপ্লেক্সিটি বাড়ায় এবং পারফরম্যান্স কমিয়ে দেয়, বিশেষ করে যখন সব ব্যবহারকারীর জন্য একই স্ট্যাটিক ডেটা থাকে। ক্যাশ না ব্যবহার করলে প্রতিটি ব্যবহারকারী অনাবশ্যক ডেটাবেস হিট করে ডেটা ফেচ করে। অন্যদিকে, ক্যাশ ব্যবহার করলে, যদি সব ব্যবহারকারীর জন্য একই স্ট্যাটিক ডেটা থাকে, তবে শুধু প্রথম ব্যবহারকারী ডেটাবেস হিট করে, ডেটা ফেচ করে, ক্যাশ মেমরিতে সংরক্ষণ করে, এবং বাকি ব্যবহারকারীরা অনাবশ্যক ডেটাবেস হিট ছাড়াই ক্যাশ থেকে ডেটা ব্যবহার করে।
রেডিস ক্যাশ
- রেডিস একটি ওপেন সোর্স (BSD লাইসেন্সড) ইন-মেমরি ডেটা স্ট্রাকচার স্টোর যা ডেটাবেস হিসেবে ব্যবহৃত হয়।
- ব্যাসিক্যালি, এটি ঘন ঘন ব্যবহৃত এবং কিছু স্ট্যাটিক ডেটা ক্যাশে সংরক্ষণ করে এবং ব্যবহারকারীর প্রয়োজন অনুযায়ী সেটি সংরক্ষণ ও ব্যবহার করে।
- রেডিসে অনেক ডেটা স্ট্রাকচার রয়েছে যা আমরা ব্যবহার করতে পারি যেমন List, Set, Hashing, Stream, এবং অন্যান্য।
রেডিস ক্যাশ সার্ভার ইনস্টলেশন
এখানে, আমরা আমাদের লোকাল সিস্টেমে রেডিস ক্যাশ সার্ভার ইনস্টল করব এবং ব্যবহার করব।
ধাপ ১
নিচের URL থেকে রেডিস সার্ভার ডাউনলোড করুন
https://github.com/microsoftarchive/redis/releases/tag/win-3.0.504
ধাপ ২
জিপ ফাইল এক্সট্র্যাক্ট করুন এবং পরে রেডিস সার্ভার এবং রেডিস CLI খুলুন
এখানে আমরা দেখতে পাচ্ছি আমাদের রেডিস সার্ভার ৬৩৭৯ পোর্ট নম্বরে চলছে
ধাপ ৩
পরবর্তী, আমরা রেডিস CLI খুলব

যে kimi আমরা কয়েকটি রেডিস ক্যাশ CLI কমান্ড ব্যবহার করেছি।
- KEYS * - এই কমান্ডটি আমাদের রেডিস ক্যাশ সার্ভারে উপস্থিত কীগুলির তালিকা পাওয়ার জন্য ব্যবহৃত হয়।
- SET <key name> "key value" - এই কমান্ডটি কী ভ্যালু সেট করার জন্য ব্যবহৃত হয়।
- GET <key name> - এই কমান্ডটি কী-এর মান পাওয়ার জন্য ব্যবহৃত হয়।
- PING - এই কমান্ডটি আমাদের রেডিস সার্ভার চলছে কিনা চেক করার জন্য ব্যবহৃত হয়।
- FLUSHALL - এই কমান্ডটি আমাদের রেডিস সার্ভারের ভিতরে উপস্থিত সকল কী ডিলিট করার জন্য ব্যবহৃত হয়।
এই csak কিছু সাধারণ কমান্ড যা আমরা ঘন ঘন ব্যবহার করি। আরও কমান্ডের ডিটেইলস চাইলে রেডিসের অফিসিয়াল ডকুমেন্টেশন চেক করুন (https://redis.io/docs/manual/cli/)
ডকার ব্যবহার করে রেডিস ক্যাশ ইমেজ
এখানে আমরা ডকার ডেস্কটপ ব্যবহার করে রেডিস ক্যাশ ডকার ইমেজ ব্যবহার করব
ধাপ ১
প্রথমে, আমাদের মেশিনে ডকার ডেস্কটপ ইনস্টল করুন।
https://www.docker.com/products/docker-desktop/
ধাপ ২
পরবর্তী, ডকার ডেস্কটপ ইনস্টল করুন এবং এক্সিকিউটেবল ফাইল চালান
ধাপ ৩
কমান্ড প্রম্পট খুলুন এবং নিচের কমান্ড এক্সিকিউট করুন। (নিশ্চিত করুন আপনার ডকার ডেস্কটপ রানিং মোডে আছে)
docker pull redis

এখানে আমরা দেখতে পাচ্ছি উপরের কমান্ড এক্সিকিউট করার পর ডকার ইমেজ ডাউনলোড হয়েছে এবং ডকার ডেস্কটপে দেখা যাচ্ছে।
ধাপ ৪
এখন, আমরা কন্টেইনার নাম, পোর্ট নম্বর, এবং ডকার ইমেজের মতো বিভিন্ন প্যারামিটার সহ রেডিস ইমেজ রান করব।
docker run --name myredis -p 6379:6379 -d redis
docker ps
এই কমান্ড আপনাকে কন্টেইনার ডিটেইলস দেবে যেখানে আপনার রেডিস ইমেজ চলছে যেমন উপরে দেখানো হয়েছে
ধাপ ৫
পরবর্তী, আমরা কন্টেইনারের ভিতরে চলমান রেডিসের সাথে সংযোগ করব।
docker exec -it myredis sh

এভাবে আমরা ডকার ব্যবহার করে রেডিস ক্যাশ ব্যবহার করেছি।
যদি আপনি .NET Core Web API ব্যবহার করে রেডিসের প্র্যাক্টিক্যাল বাস্তবায়ন দেখতে চান তবে আমার নিচের আর্টিকেলটি চেক করুন।
উপসংহার
এখানে আমরা রেডিস ক্যাশ এবং ধাপে ধাপে ইনস্টলেশনের বিভিন্ন উপায় নিয়ে আলোচনা করেছি। এছাড়াও কিছু সাধারণ কমান্ড নিয়ে আলোচনা করেছি যা আমরা ঘন ঘন ব্যবহার করি।
হ্যাপি লার্নিং!