রেডিস হলো একটি ইন-মেমোরি ডেটা স্ট্রাকচার স্টোর, যা সাধারণত ডেটাবেস, ক্যাশ, এবং মেসেজ ব্রোকার হিসেবে ব্যবহৃত হয়। Redis একটি NoSQL ডেটাবেস এবং এর পুরোপুরি ডেটা RAM এ সংরক্ষণ করে, ফলে এটি অত্যন্ত দ্রুতগতিতে কাজ করতে সক্ষম। Redis এর পুরো নাম হলো "Remote Dictionary Server" এবং এটি ওপেন-সোর্স ভিত্তিক। Redis ডেভেলপারদেরকে বিভিন্ন ধরণের ডেটা স্ট্রাকচার যেমন strings, hashes, lists, sets, এবং sorted sets সংরক্ষণ করার সুযোগ দেয়।
Redis হল একটি ওপেন-সোর্স ইন-মেমরি ডেটা স্টোর এবং ক্যাশিং সিস্টেম, যা অত্যন্ত দ্রুত পারফরম্যান্স প্রদান করে। এটি সাধারণত Key-Value ডেটা স্ট্রাকচারের উপর ভিত্তি করে কাজ করে এবং বিভিন্ন ধরনের ডেটা স্ট্রাকচার যেমন Strings, Lists, Sets, Hashes, Sorted Sets, Streams, Bitmaps ইত্যাদি সংরক্ষণ করতে পারে। Redis মূলত ডেটা ক্যাশিং, সেশন ম্যানেজমেন্ট, এবং দ্রুত ডেটা রিট্রিভের জন্য ব্যবহৃত হয়।
Redis সম্পূর্ণরূপে ইন-মেমরি ডাটাবেস, যার ফলে এটি দ্রুত ডেটা অ্যাক্সেস করার সুবিধা প্রদান করে এবং এটি অনেক ক্ষেত্রে NoSQL ডেটাবেস হিসেবেও কাজ করতে পারে। Redis কে আপনি ডাটাবেস, ক্যাশিং সিস্টেম, এবং মেসেজ ব্রোকার হিসেবে ব্যবহার করতে পারেন।
Redis বিভিন্ন প্ল্যাটফর্মে ব্যবহার করা যায় এবং নিচে Redis এর ইনস্টলেশন প্রক্রিয়া নিয়ে আলোচনা করা হলো।
Redis ইনস্টল করার জন্য নিচের ধাপগুলো অনুসরণ করুন:
টার্মিনালে নিচের কমান্ডগুলো চালান:
sudo apt update
sudo apt install redis-server
Redis সার্ভার চালু করার জন্য:
sudo systemctl start redis-server
সার্ভার চালু হয়েছে কিনা তা যাচাই করার জন্য নিচের কমান্ডটি ব্যবহার করতে পারেন:
sudo systemctl status redis-server
Redis CLI চালাতে নিচের কমান্ডটি ব্যবহার করুন:
redis-cli
এখন আপনি Redis এর কমান্ডলাইন ইন্টারফেসে প্রবেশ করেছেন।
Redis মূলত Linux-এর জন্য ডিজাইন করা হয়েছে, তবে Windows ব্যবহারকারীরাও এটি ইনস্টল করতে পারেন। Windows এ Redis ইনস্টল করতে নিচের ধাপগুলো অনুসরণ করুন:
Redis শেখার জন্য কিছু মৌলিক কমান্ড সম্পর্কে ধারণা থাকা প্রয়োজন। নিচে Redis এর কিছু সাধারণ কমান্ড এবং তাদের ব্যবহার নিয়ে আলোচনা করা হলো:
Redis এ Key-Value ইনসার্ট করতে SET কমান্ড ব্যবহার করা হয়।
SET key "value"
উদাহরণ:
SET name "John"
Key-Value রিট্রিভ করার জন্য GET কমান্ড ব্যবহার করা হয়।
GET key
উদাহরণ:
GET name
উপরের কমান্ডটি name কী-এর সাথে যুক্ত ভ্যালু রিট্রিভ করবে, যা John।
Redis থেকে একটি কী মুছে ফেলতে DEL কমান্ড ব্যবহার করা হয়।
DEL key
উদাহরণ:
DEL name
Redis এ একটি কী-এর Time to Live (TTL) সেট করতে EXPIRE কমান্ড ব্যবহার করা হয়, যার মাধ্যমে কী নির্দিষ্ট সময় পরে মুছে যায়।
EXPIRE key seconds
উদাহরণ:
SET temp "temporary value"
EXPIRE temp 60
এটি temp কী-এর জন্য ৬০ সেকেন্ডের মেয়াদ নির্ধারণ করবে।
Redis এ Lists তৈরি এবং পরিচালনার জন্য নিম্নলিখিত কমান্ডগুলো ব্যবহার করা হয়:
LPUSH mylist "item1"
RPUSH mylist "item2"
LRANGE mylist 0 -1
এটি mylist এর সমস্ত আইটেম রিট্রিভ করবে।
Redis এ Hashes তৈরি করার জন্য নিচের কমান্ডগুলো ব্যবহার করা হয়:
HSET user:1000 name "Alice" age 30
HGET user:1000 name
HGETALL user:1000
Redis এ Sets তৈরি করার জন্য নিচের কমান্ডগুলো ব্যবহার করা হয়:
SADD myset "item1"
SADD myset "item2"
SMEMBERS myset
Redis এর Publish/Subscribe (Pub/Sub) মেসেজিং ব্যবহারের জন্য নিম্নলিখিত কমান্ডগুলো ব্যবহার করা হয়:
SUBSCRIBE mychannel
PUBLISH mychannel "Hello Redis!"
Redis এর কিছু অ্যাডভান্সড ফিচার নিয়ে আলোচনা করা হলো:
Redis এ MULTI কমান্ড ব্যবহার করে একাধিক কমান্ড একসাথে ট্রানজ্যাকশনের মাধ্যমে সম্পন্ন করা যায়।
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC
Redis ইন-মেমরি ডেটাবেস হলেও এটি Persistence সাপোর্ট করে। Redis এ দুটি প্রধান Persistence পদ্ধতি রয়েছে:
Redis ক্লাস্টারিং ফিচার Redis ডেটাবেসকে হরিজন্টালি স্কেল করে, যাতে বড় ডেটাবেস ডিস্ট্রিবিউট করা যায় এবং উচ্চ অ্যাভেলেবিলিটি নিশ্চিত করা যায়।
Redis Sentinel হাই অ্যাভেলেবিলিটি প্রদান করে এবং Redis সার্ভার মনিটরিং, নোটিফিকেশন, এবং অটোমেটিক ফেইলওভার সাপোর্ট করে।
| বৈশিষ্ট্য | Redis | Memcached |
|---|---|---|
| ডেটা স্ট্রাকচার | Strings, Lists, Sets, Hashes, Sorted Sets | শুধুমাত্র Strings |
| Persistence | সমর্থিত (RDB, AOF) | সমর্থিত নয় |
| Replication | সমর্থিত | সমর্থিত নয় |
| Transactions | সমর্থিত | সমর্থিত নয় |
| Pub/Sub | সমর্থিত | সমর্থিত নয় |
| Cluster Support | সমর্থিত | সমর্থিত নয় |
| বৈশিষ্ট্য | Redis | MongoDB |
|---|---|---|
| ডেটা মডেল | Key-Value এবং ডেটা স্ট্রাকচার | ডকুমেন্ট-ভিত্তিক |
| Persistence | সমর্থিত | সমর্থিত |
| Replication | সমর্থিত | সমর্থিত |
| In-Memory Performance | সম্পূর্ণ ইন-মেমরি ডেটাবেস | কিছু ক্ষেত্রে ইন-মেমরি |
| Use Case | ক্যাশিং, সেশন ম্যানেজমেন্ট, Pub/Sub | ডেটা স্টোরেজ, ডকুমেন্ট ডাটাবেস |
Redis হল একটি অত্যন্ত শক্তিশালী এবং দ্রুত ইন-মেমরি ডেটা স্টোর এবং ক্যাশিং সিস্টেম, যা ডেভেলপারদের জন্য বড় আকারের ডেটা হ্যান্ডলিং এবং পারফরম্যান্স-ভিত্তিক অ্যাপ্লিকেশন তৈরির জন্য আদর্শ। এর Key-Value স্টোরেজ, নানাবিধ ডেটা স্ট্রাকচার সাপোর্ট, এবং Persistence এর সুবিধা একে অন্যান্য ডেটাবেস থেকে আলাদা করে তোলে।
Redis মূলত ক্যাশিং, সেশন ম্যানেজমেন্ট, এবং দ্রুত ডেটা রিট্রিভ করার ক্ষেত্রে ব্যবহৃত হলেও, এর অ্যাডভান্সড ফিচারগুলো যেমন Transactions, Pub/Sub Messaging, এবং Replication একে অনেক বড় এবং জটিল অ্যাপ্লিকেশনের জন্যও আদর্শ করে তোলে। Redis এর সুবিধা এবং এর সীমাবদ্ধতাগুলো মাথায় রেখে এটি ব্যবহার করলে ডেভেলপাররা সহজেই দ্রুত এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে পারবেন।
রেডিস হলো একটি ইন-মেমোরি ডেটা স্ট্রাকচার স্টোর, যা সাধারণত ডেটাবেস, ক্যাশ, এবং মেসেজ ব্রোকার হিসেবে ব্যবহৃত হয়। Redis একটি NoSQL ডেটাবেস এবং এর পুরোপুরি ডেটা RAM এ সংরক্ষণ করে, ফলে এটি অত্যন্ত দ্রুতগতিতে কাজ করতে সক্ষম। Redis এর পুরো নাম হলো "Remote Dictionary Server" এবং এটি ওপেন-সোর্স ভিত্তিক। Redis ডেভেলপারদেরকে বিভিন্ন ধরণের ডেটা স্ট্রাকচার যেমন strings, hashes, lists, sets, এবং sorted sets সংরক্ষণ করার সুযোগ দেয়।
Redis হল একটি ওপেন-সোর্স ইন-মেমরি ডেটা স্টোর এবং ক্যাশিং সিস্টেম, যা অত্যন্ত দ্রুত পারফরম্যান্স প্রদান করে। এটি সাধারণত Key-Value ডেটা স্ট্রাকচারের উপর ভিত্তি করে কাজ করে এবং বিভিন্ন ধরনের ডেটা স্ট্রাকচার যেমন Strings, Lists, Sets, Hashes, Sorted Sets, Streams, Bitmaps ইত্যাদি সংরক্ষণ করতে পারে। Redis মূলত ডেটা ক্যাশিং, সেশন ম্যানেজমেন্ট, এবং দ্রুত ডেটা রিট্রিভের জন্য ব্যবহৃত হয়।
Redis সম্পূর্ণরূপে ইন-মেমরি ডাটাবেস, যার ফলে এটি দ্রুত ডেটা অ্যাক্সেস করার সুবিধা প্রদান করে এবং এটি অনেক ক্ষেত্রে NoSQL ডেটাবেস হিসেবেও কাজ করতে পারে। Redis কে আপনি ডাটাবেস, ক্যাশিং সিস্টেম, এবং মেসেজ ব্রোকার হিসেবে ব্যবহার করতে পারেন।
Redis বিভিন্ন প্ল্যাটফর্মে ব্যবহার করা যায় এবং নিচে Redis এর ইনস্টলেশন প্রক্রিয়া নিয়ে আলোচনা করা হলো।
Redis ইনস্টল করার জন্য নিচের ধাপগুলো অনুসরণ করুন:
টার্মিনালে নিচের কমান্ডগুলো চালান:
sudo apt update
sudo apt install redis-server
Redis সার্ভার চালু করার জন্য:
sudo systemctl start redis-server
সার্ভার চালু হয়েছে কিনা তা যাচাই করার জন্য নিচের কমান্ডটি ব্যবহার করতে পারেন:
sudo systemctl status redis-server
Redis CLI চালাতে নিচের কমান্ডটি ব্যবহার করুন:
redis-cli
এখন আপনি Redis এর কমান্ডলাইন ইন্টারফেসে প্রবেশ করেছেন।
Redis মূলত Linux-এর জন্য ডিজাইন করা হয়েছে, তবে Windows ব্যবহারকারীরাও এটি ইনস্টল করতে পারেন। Windows এ Redis ইনস্টল করতে নিচের ধাপগুলো অনুসরণ করুন:
Redis শেখার জন্য কিছু মৌলিক কমান্ড সম্পর্কে ধারণা থাকা প্রয়োজন। নিচে Redis এর কিছু সাধারণ কমান্ড এবং তাদের ব্যবহার নিয়ে আলোচনা করা হলো:
Redis এ Key-Value ইনসার্ট করতে SET কমান্ড ব্যবহার করা হয়।
SET key "value"
উদাহরণ:
SET name "John"
Key-Value রিট্রিভ করার জন্য GET কমান্ড ব্যবহার করা হয়।
GET key
উদাহরণ:
GET name
উপরের কমান্ডটি name কী-এর সাথে যুক্ত ভ্যালু রিট্রিভ করবে, যা John।
Redis থেকে একটি কী মুছে ফেলতে DEL কমান্ড ব্যবহার করা হয়।
DEL key
উদাহরণ:
DEL name
Redis এ একটি কী-এর Time to Live (TTL) সেট করতে EXPIRE কমান্ড ব্যবহার করা হয়, যার মাধ্যমে কী নির্দিষ্ট সময় পরে মুছে যায়।
EXPIRE key seconds
উদাহরণ:
SET temp "temporary value"
EXPIRE temp 60
এটি temp কী-এর জন্য ৬০ সেকেন্ডের মেয়াদ নির্ধারণ করবে।
Redis এ Lists তৈরি এবং পরিচালনার জন্য নিম্নলিখিত কমান্ডগুলো ব্যবহার করা হয়:
LPUSH mylist "item1"
RPUSH mylist "item2"
LRANGE mylist 0 -1
এটি mylist এর সমস্ত আইটেম রিট্রিভ করবে।
Redis এ Hashes তৈরি করার জন্য নিচের কমান্ডগুলো ব্যবহার করা হয়:
HSET user:1000 name "Alice" age 30
HGET user:1000 name
HGETALL user:1000
Redis এ Sets তৈরি করার জন্য নিচের কমান্ডগুলো ব্যবহার করা হয়:
SADD myset "item1"
SADD myset "item2"
SMEMBERS myset
Redis এর Publish/Subscribe (Pub/Sub) মেসেজিং ব্যবহারের জন্য নিম্নলিখিত কমান্ডগুলো ব্যবহার করা হয়:
SUBSCRIBE mychannel
PUBLISH mychannel "Hello Redis!"
Redis এর কিছু অ্যাডভান্সড ফিচার নিয়ে আলোচনা করা হলো:
Redis এ MULTI কমান্ড ব্যবহার করে একাধিক কমান্ড একসাথে ট্রানজ্যাকশনের মাধ্যমে সম্পন্ন করা যায়।
MULTI
SET key1 "value1"
SET key2 "value2"
EXEC
Redis ইন-মেমরি ডেটাবেস হলেও এটি Persistence সাপোর্ট করে। Redis এ দুটি প্রধান Persistence পদ্ধতি রয়েছে:
Redis ক্লাস্টারিং ফিচার Redis ডেটাবেসকে হরিজন্টালি স্কেল করে, যাতে বড় ডেটাবেস ডিস্ট্রিবিউট করা যায় এবং উচ্চ অ্যাভেলেবিলিটি নিশ্চিত করা যায়।
Redis Sentinel হাই অ্যাভেলেবিলিটি প্রদান করে এবং Redis সার্ভার মনিটরিং, নোটিফিকেশন, এবং অটোমেটিক ফেইলওভার সাপোর্ট করে।
| বৈশিষ্ট্য | Redis | Memcached |
|---|---|---|
| ডেটা স্ট্রাকচার | Strings, Lists, Sets, Hashes, Sorted Sets | শুধুমাত্র Strings |
| Persistence | সমর্থিত (RDB, AOF) | সমর্থিত নয় |
| Replication | সমর্থিত | সমর্থিত নয় |
| Transactions | সমর্থিত | সমর্থিত নয় |
| Pub/Sub | সমর্থিত | সমর্থিত নয় |
| Cluster Support | সমর্থিত | সমর্থিত নয় |
| বৈশিষ্ট্য | Redis | MongoDB |
|---|---|---|
| ডেটা মডেল | Key-Value এবং ডেটা স্ট্রাকচার | ডকুমেন্ট-ভিত্তিক |
| Persistence | সমর্থিত | সমর্থিত |
| Replication | সমর্থিত | সমর্থিত |
| In-Memory Performance | সম্পূর্ণ ইন-মেমরি ডেটাবেস | কিছু ক্ষেত্রে ইন-মেমরি |
| Use Case | ক্যাশিং, সেশন ম্যানেজমেন্ট, Pub/Sub | ডেটা স্টোরেজ, ডকুমেন্ট ডাটাবেস |
Redis হল একটি অত্যন্ত শক্তিশালী এবং দ্রুত ইন-মেমরি ডেটা স্টোর এবং ক্যাশিং সিস্টেম, যা ডেভেলপারদের জন্য বড় আকারের ডেটা হ্যান্ডলিং এবং পারফরম্যান্স-ভিত্তিক অ্যাপ্লিকেশন তৈরির জন্য আদর্শ। এর Key-Value স্টোরেজ, নানাবিধ ডেটা স্ট্রাকচার সাপোর্ট, এবং Persistence এর সুবিধা একে অন্যান্য ডেটাবেস থেকে আলাদা করে তোলে।
Redis মূলত ক্যাশিং, সেশন ম্যানেজমেন্ট, এবং দ্রুত ডেটা রিট্রিভ করার ক্ষেত্রে ব্যবহৃত হলেও, এর অ্যাডভান্সড ফিচারগুলো যেমন Transactions, Pub/Sub Messaging, এবং Replication একে অনেক বড় এবং জটিল অ্যাপ্লিকেশনের জন্যও আদর্শ করে তোলে। Redis এর সুবিধা এবং এর সীমাবদ্ধতাগুলো মাথায় রেখে এটি ব্যবহার করলে ডেভেলপাররা সহজেই দ্রুত এবং স্কেলেবল অ্যাপ্লিকেশন তৈরি করতে পারবেন।
আপনি আমাকে যেকোনো প্রশ্ন করতে পারেন, যেমনঃ
Are you sure to start over?