এই টিউটোরিয়ালে, আমরা শিখব কিভাবে জেডিস লাইব্রেরি ব্যবহার করে কীতে CRUD অপারেশন করা যায়।
জেডিস লাইব্রেরি
জেডিস রেডিস ডেটাস্টোরের জন্য একটি জাভা ক্লায়েন্ট লাইব্রেরি। এটি ছোট এবং খুব সহজে ব্যবহারযোগ্য, এবং রেডিস ২.৮.x, ৩.x.x এবং এর উপরের ভার্সনদের সাথে পুরোপুরি কম্প্যাটিবল। জেডিস লাইব্রেরি সম্পর্কে আরও জানতে এখানে দেখুন।
কীসমূহ
রেডিসে, কীগুলো ডেটাস্টোরে সংরক্ষিত একটি মানকে স্টোর, পরিচালনা ও রিট্রিভ করার জন্য একটি অনন্য আইডেন্টিফায়ার হিসেবে ব্যবহৃত হয়। কী কমান্ডসমূহ সম্পর্কে আরও জানতে এখানে দেখুন।
প্রজেক্ট সেটআপ
আপনার পছন্দের IDE-এ একটি সিম্পল মেভেন প্রজেক্ট তৈরি করুন এবং নিচে উল্লেখিত ডিপেন্ডেন্সি আপনার pom.xml ফাইলে যোগ করুন।
<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.1</version> </dependency>
জেডিস লাইব্রেরির লেটেস্ট ভার্সনের জন্য এই পেজ চেক করুন।
রেডিস ইনস্টলেশন
আপনাকে রেডিসের লেটেস্ট ভার্সন ইনস্টল করতে হবে। রেডিস ইনস্টলেশন সম্পর্কে আরও জানতে এই পেজ চেক করুন।
জেডিস কানেকশন
Jedis (redis.clients.jedis.Jedis) ক্লাসের একটি অবজেক্ট তৈরি করুন আপনার জাভা কোডকে রেডিসের সাথে কানেক্ট করার জন্য।
Jedis jedis = new Jedis();
যদি আপনি আপনার লোকাল মেশিনে ডিফল্ট পোর্ট (৬৩৭৯)-এ একটি রেডিস সার্ভিস চালু করে থাকেন, তবে ডিফল্ট কনস্ট্রাক্টর ঠিকঠাক কাজ করবে। অন্যথায় আপনাকে কনস্ট্রাক্টরে সঠিক হোস্ট ইউআরএল এবং পোর্ট নম্বর আর্গুমেন্ট হিসেবে পাস করতে হবে।
কীতে টাইমস্ট্যাম্প সেট করুন
কীতে এক্সপিরেশন টাইম সেট করার চারটি মেথড রয়েছে। সেগুলো নিম্নরূপ:
- expire: কীতে সেকেন্ডে এক্সপিরেশন টাইম সেট করে।
/* <key-1>-এ সেকেন্ডে এক্সপিরেশন টাইম সেট করুন */ jedis.expire("key-1", 300); - pexpire: কীতে মিলিসেকেন্ডে এক্সপিরেশন টাইম সেট করে।
/* <key-1>-এ মিলিসেকেন্ডে এক্সপিরেশন টাইম সেট করুন */ jedis.pexpire("key-1", 30000); - expireat: কীতে ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ডে) এ এক্সপিরেশন টাইম সেট করে।
/* <key-1>-এ ইউনিক্স টাইমস্ট্যাম্প (সেকেন্ডে) এ এক্সপিরেশন টাইম সেট করুন */ jedis.expireAt("key-1", 1543622400); - pexpireat: কীতে ইউনিক্স টাইমস্ট্যাম্প (মিলিসেকেন্ডে) এ এক্সপিরেশন টাইম সেট করে।
/* <key-1>-এ ইউনিক্স টাইমস্ট্যাম্প (মিলিসেকেন্ডে) এ এক্সপিরেশন টাইম সেট করুন */ jedis.pexpireAt("key-1", 154362240000);
কীর টাইমস্ট্যাম্প পান
কীর এক্সপিরেশন টাইম পাওয়ার দুটি মেথড রয়েছে। সেগুলো নিম্নরূপ:
- ttl: কীর এক্সপিরেশন টাইম সেকেন্ডে রিটার্ন করে।
/* <key-1>-এর এক্সপিরেশন টাইম সেকেন্ডে রিটার্ন করুন */ jedis.ttl("key-1"); - pttl: কীর এক্সপিরেশন টাইম মিলিসেকেন্ডে রিটার্ন করে।
/* <key-1>-এর এক্সপিরেশন টাইম মিলিসেকেন্ডে রিটার্ন করুন */ jedis.pttl("key-1");
টাইমস্ট্যাম্প রিমুভ করুন
persist মেথড রেডিস ডেটাস্টোরে সংরক্ষিত একটি কীর এক্সপিরেশন টাইম রিমুভ করে।
/* <key-1>-এর টাইমস্ট্যাম্প রিমুভ করুন */ jedis.persist("key-1");
সব কী পান
keys মেথড নির্দিষ্ট প্যাটার্নের সাথে মিলে যাওয়া এক বা একাধিক কী ফেরত দেয়।
/* ডেটাস্টোরে সংরক্ষিত সব কী রিটার্ন করুন */ jedis.keys("*");
/* a দিয়ে শুরু হয়ে b দিয়ে শেষ হয় এমন সব কী রিটার্ন করুন */ jedis.keys("a*b");
ডিলিট করুন
del মেথড রেডিস ডেটাস্টোর থেকে একটি কী ডিলিট করতে ব্যবহৃত হয়।
/* ডেটাস্টোর থেকে <key-1> ডিলিট করুন */ jedis.del("key-1");
/* ডেটাস্টোর থেকে <key-1> <key-2> <key-3> ডিলিট করুন */ jedis.del("key-1", "key-2", "key-3");
অস্তিত্ব যাচাই করুন
exists মেথড যাচাই করতে ব্যবহৃত হয়, একটি কী রেডিস ডেটাস্টোরে আছে কিনা।
/* <key-1> ডেটাস্টোরে আছে কিনা যাচাই করুন */ Boolean exist = jedis.exists("key-1");
/* <key-1>, <key-2>, <key-3> ডেটাস্টোরে আছে কিনা যাচাই করুন */ Long exist = jedis.exists("key-1", "key-2", "key-3");
/* ১ ফেরত দেওয়া হবে যদি যেকোনো একটি উপস্থিত থাকে, অন্যথায় ০ ফেরত দেওয়া হবে। */
টাইপ জানুন
type মেথড একটি কীতে সংরক্ষিত ভ্যালুর ডেটা টাইপ জানতে ব্যবহৃত হয়।
/* <key-1>-এ সংরক্ষিত ভ্যালুর ডেটা টাইপ রিটার্ন করুন */ jedis.type("key-1");
ডাম্প করুন
dump মেথড একটি কীতে সংরক্ষিত ভ্যালুর সিরিয়ালাইজড ভার্সন ফেরত দেয়।
/* <key-1>-এ সংরক্ষিত সিরিয়ালাইজড ভ্যালু রিটার্ন করুন */ jedis.dump("key-1");
রিনেম করুন
ডেটাস্টোরে সংরক্ষিত কী রিনেম করার দুটি মেথড রয়েছে। সেগুলো নিম্নরূপ:
- rename: কীকে পুরনো নাম থেকে নতুন নামে রিনেম করে। যদি নতুন নামে একটি কী ইতিমধ্যে থাকে, তবে সেটি ওভাররাইট হবে এবং পুরনো নামের কীটি ডিলিট হবে, অন্যথায় পুরনো নামের কীটি নতুন নামে পরিবর্তন হবে।
/* কীকে <old-key> থেকে <new-key>-এ রিনেম করুন */ jedis.rename("old-key", "new-key"); - renamenx: কীকে পুরনো নাম থেকে নতুন নামে রিনেম করে শুধু যদি নতুন নামে কীটি অস্তিত্বে না থাকে।
/* কীকে <old-key> থেকে <new-key>-এ রিনেম করুন */ jedis.renamenx("old-key", "new-key");
রেফারেন্স:
- কী কমান্ড ডক্স
জেডিস লাইব্রেরি ব্যবহার করে কীতে CRUD অপারেশন করার প্রক্রিয়া এতে সম্পন্ন। যদি আপনার ভালো লাগে, তবে মন্তব্য অংশে আপনার মতামত শেয়ার করুন এবং অন্যদেরও শেয়ার করুন।