কম্পিউটার টিউটোরিয়াল

রেডিস জেডিস: জেডিস লাইব্রেরি দিয়ে জিও ভ্যালুতে CRUD অপারেশন

এই টিউটোরিয়ালে, আমরা শিখব কিভাবে জেডিস লাইব্রেরি ব্যবহার করে একটি জিও ভ্যালুতে 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();

যদি আপনি আপনার লোকাল মেশিনে ডিফল্ট পোর্ট (৬৩৭৯)-এ একটি রেডিস সার্ভিস চালু করে থাকেন, তবে ডিফল্ট কনস্ট্রাক্টর ঠিকঠাক কাজ করবে। অন্যথায় আপনাকে কনস্ট্রাক্টরে সঠিক হোস্ট ইউআরএল এবং পোর্ট নম্বর আর্গুমেন্ট হিসেবে পাস করতে হবে।

তैयاری ও যোগ করুন

geoadd মেথড একটি কীতে সংরক্ষিত জিওস্পেশিয়াল মান (সর্টেড সেট) এ এক বা একাধিক জিওস্পেশিয়াল সদস্য যোগ করতে ব্যবহৃত হয়।

/* <geo-1>-এ লন্ডনের জিও কোঅর্ডিনেট ইনসার্ট করুন */ jedis.geoadd("geo-1", 51.5074, 0.1278, "London");
/* <geo-2>-এ লন্ডন এবং প্যারিসের জিও কোঅর্ডিনেট ইনসার্ট করুন */
Map<String,GeoCoordinate> map = new HashMap<String, GeoCoordinate>();
map.put("London", new GeoCoordinate(51.5074, 0.1278));
map.put("Paris", new GeoCoordinate(48.8566, 2.3522));
jedis.geoadd("geo-2", map);

জিও কোঅর্ডিনেট পান

geopos মেথড একটি কীতে সংরক্ষিত জিওস্পেশিয়াল মান (সর্টেড সেট) এর এক বা একাধিক সদস্যের GeoCoordinate (দ্রাঘিমাংশ, অক্ষাংশ) পाने জন্য ব্যবহৃত হয়।

/* <geo-1>- থেকে লন্ডন এবং প্যারিসের GeoCoordinate রিটার্ন করুন */ List geoCoordinates = jedis.geopos("geo-1", "London", "Paris");

জিওহ্যাশ পান

geohash মেথড একটি কীতে সংরক্ষিত জিওস্পেশিয়াল মান (স্টোরড সেট) এর এক বা একাধিক সদস্যের বৈধ জিওহ্যাশ স্ট্রিং পाने জন্য ব্যবহৃত হয়।

/* <geo-1>- থেকে লন্ডন এবং প্যারিসের GeoHash স্ট্রিং রিটার্ন করুন */ List geoStrings = jedis.geohash("geo-1", "London", "Paris");

দুটি সদস্যের মধ্যে দূরত্ব

geodist মেথড একটি কীতে সংরক্ষিত জিওস্পেশিয়াল মান (সর্টেড সেট) এর দুটি সদস্যের মধ্যে নির্দিষ্ট ইউনিটে দূরত্ব পाने জন্য ব্যবহৃত হয়। ইউনিট নির্দিষ্ট করা যাবে m (মিটার), km (কিলোমিটার), mi (মাইল), ft (ফুট)।

/* <geo-1>- থেকে লন্ডন এবং প্যারিসের মধ্যে দূরত্ব কিলোমিটারএ রিটার্ন করুন */ Double distance = jedis.geodist("geo-1", "London", "Paris", GeoUnit.KM);

রেফারেন্স:

  1. জিও কমান্ড ডক্স

জেডিস লাইব্রেরি ব্যবহার করে একটি জিও ভ্যালুতে CRUD অপারেশন করার প্রক্রিয়া এতে সম্পন্ন। যদি আপনার ভালো লাগে, তবে মন্তব্য অংশে আপনার মতামত শেয়ার করুন এবং অন্যদেরও শেয়ার করুন।

  1. Redis INCRBYFLOAT: ফ্লোটিং-পয়েন্ট ভ্যালু ইনক্রিমেন্ট করার ধাপে ধাপে গাইড

  2. রেডিসে জিওস্পেশিয়াল ডেটা ম্যানেজমেন্ট: GEO কমান্ডের পূর্ণাঙ্গ গাইড

  3. রেডিস GEORADIUS ব্যবহার: নির্দিষ্ট এলাকার জিওস্পেশিয়াল ডেটা খুঁজুন

  4. জেডিস দিয়ে রেডিস পাব/সাব ইমপ্লিমেন্টেশন: ধাপে ধাপে গাইড