কম্পিউটার

Node.js এর জন্য Redis OM প্রবর্তন করা হচ্ছে

জাভাস্ক্রিপ্ট এবং টাইপস্ক্রিপ্টের জন্য দ্রুত এবং সহজ অবজেক্ট ম্যাপিং

আমি একটা জিনিস লিখেছিলাম—আসলে, আমাদের মধ্যে অনেকেই কিছু লিখেছি—আমি শুধু Node.js সংস্করণ লিখেছি। আমি মনে করি এটি একটি সুন্দর জিনিস যা আপনার মনোযোগের যোগ্য এবং আমি এটি সম্পর্কে উত্তেজিত। আমি যে বিষয়ে কথা বলছি:Node.js.

এর জন্য Redis OM

Redis OM কি? Redis OM হল একটি লাইব্রেরি যা রেডিস ডেটা স্ট্রাকচার সরাসরি আপনার কোডে ম্যাপ করে রেডিস ব্যবহার করা সহজ করে তোলে। OM বিট মানে অবজেক্ট ম্যাপিং , কিন্তু আমরা ভবিষ্যতে এর চেয়ে আরও বেশি কিছু করার পরিকল্পনা করছি৷

আরো বিস্তারিত জানার জন্য পড়ুন।

দ্রুত থেকে দ্রুত

আপনি সম্ভবত ইতিমধ্যেই জানেন যে রেডিস দ্রুত-দ্রুত থেকে দ্রুত-এবং এটি আপনার প্রোগ্রামগুলির জন্য প্রয়োজনীয় জিনিসগুলি সঞ্চয় করে:হ্যাশ, তালিকা, সেট, এই জাতীয় জিনিস। এই কাঠামো আমি একটি প্রোগ্রামার হিসাবে মনে হয়. যখন আমি ব্যাখ্যা করছি রেডিস কী একজন অপ্রশিক্ষিত প্রযুক্তিবিদকে, তখন আমি তাদের বলি যে রেডিস হল সেই সমস্ত ডেটা স্ট্রাকচার যা আপনি কলেজে তাদের সামনে একটি ওয়্যার-প্রটোকল দিয়ে শিখেছিলেন।

নতুন প্রবর্তন করে মডিউলগুলি রেডিসকে আরও দুর্দান্ত করে তোলে (হ্যাঁ, আমি জানি এটি একটি শব্দ নয়) আপনার প্রোগ্রামগুলির যত্ন নেওয়ার জন্য ডেটা স্ট্রাকচার। RedisBloom ব্লুম এবং কোকিল ফিল্টারের মত সম্ভাব্য ডেটা স্ট্রাকচার যোগ করে। RedisGraph আপনাকে সাইফার ব্যবহার করে গ্রাফগুলি সঞ্চয় এবং অনুসন্ধান করতে দেয়। RedisAI আপনাকে আশ্চর্যজনক AI জিনিসগুলির জন্য টেনসর দেয়। সব খুব দরকারী।

সবচেয়ে দুর্দান্ত মডিউল

কিন্তু বিশেষ করে দুটি মডিউল রয়েছে যা রেডিসকে শক্তিশালী ইন-মেমরি ডেটাবেস করে তোলে যা প্রতিটি প্রোগ্রামার চায়:RedisJSON এবং RediSearch৷

RedisJSON টেবিলে শ্রেণিবিন্যাস নিয়ে আসে। হ্যাশগুলি দুর্দান্ত, তবে আপনি যদি আপনার হ্যাশে হ্যাশগুলি এম্বেড করতে চান তবে কী করবেন? RedisJSON আপনাকে JSON নথিতে আমার শ্রেণিবদ্ধ ডেটা সংরক্ষণ করার অনুমতি দিয়ে কভার করেছে৷

এদিকে, RediSearch আপনাকে খুঁজে দিতে দেয় আপনি যে ডেটা স্ট্রাকচারের বিষয়ে যত্নশীল। অবশ্যই, আপনি সেট ব্যবহার করে ম্যানুয়াল সূচক তৈরি করতে পারেন, কিন্তু সেই পদ্ধতি সীমিত এবং ম্যানুয়াল। ইয়াক RediSearch আপনাকে আপনার পছন্দসই ডেটাতে যাওয়ার জন্য প্রশ্নগুলি লিখতে দেয়৷

সম্মিলিতভাবে, RediSearch এবং RedisJSON রেডিসকে একটি সুন্দর নিফটি নথি ডাটাবেস করে তোলে। আপনি যে শ্রেণিবিন্যাস চান এবং এতে আপনার যত্নশীল জিনিসগুলি খুঁজে পাওয়ার ক্ষমতা পাবেন। উভয় জগতের সেরা এবং যা কিছু।

প্রকৃতপক্ষে, আমরা মনে করি এটি একটি সুস্বাদু সংমিশ্রণ, আমরা সেগুলিকে একত্রিত করছি এবং তাদের শুধু RedisJSON বলে ডাকছি৷

Redis OM Node.js

এর জন্য

RediSearch-এর জন্য ক্যোয়ারী ভাষা শক্তিশালী। খুব শক্তিশালী. এটি আপনাকে রেডিসের মধ্যে বিভিন্ন এবং পরিশীলিত উপায়ে হ্যাশ এবং JSON নথিগুলি অনুসন্ধান করতে দেয়। এবং যখন আমার সেই সমস্ত শক্তির প্রয়োজন হয়, তখন এটি খুব দুর্দান্ত। কিন্তু কখনও কখনও আমার সেই সমস্ত শক্তির প্রয়োজন হয় না। এবং আমি আমি একজন অলস বিকাশকারী—আমি চাই এটি যতটা সম্ভব সহজ (এবং সহজ নয়)।

আমি যখন Node.js-এর জন্য Redis OM লিখেছিলাম তখন আমি যা করার চেষ্টা করছিলাম তা যতটা সম্ভব সহজ করা। Redis OM আপনার সংজ্ঞায়িত ক্লাসে হ্যাশ এবং JSON নথি ম্যাপ করে আপনার Node.js অ্যাপ্লিকেশনে Redis যোগ করা সহজ করে তোলে। কোন জটিল কমান্ড নেই, শুধুমাত্র একটি সাবলীল ইন্টারফেসের সাথে বিশুদ্ধ কোড। একবার দেখুন।

একটি সত্তা সংজ্ঞায়িত করুন:

একটি নতুন সত্তা তৈরি করুন এবং এটি সংরক্ষণ করুন:

মিলে যাওয়া সত্তার জন্য অনুসন্ধান করুন:

এখন আমি এই লাইব্রেরিটি এবং সব লেখার পর থেকে মোটামুটি পক্ষপাতদুষ্ট, কিন্তু আমি মনে করি এটি বেশ ভালো! আসুন এই সিনট্যাক্সটি ঘনিষ্ঠভাবে দেখি এবং এটি কীভাবে কাজ করে তা শিখি।

এটি কিভাবে কাজ করে

Node.js-এর জন্য Redis OM-এ আপনাকে চারটি ক্লাসের যত্ন নিতে হবে। এগুলি হল সত্তা, স্কিমা, ক্লায়েন্ট এবং রিপোজিটরি৷

সত্তা আপনি কাজ করেন যে ক্লাস. জিনিসগুলি তৈরি, পড়া, আপডেট করা এবং মুছে ফেলা হচ্ছে। যে জিনিসগুলো খোঁজা হচ্ছে। সত্তা প্রসারিত যে কোনো শ্রেণী একটি সত্তা. সাধারণত, আপনি কোডের একটি লাইন দিয়ে একটি সত্তাকে সংজ্ঞায়িত করবেন, তবে আপনি সেখানেও কাস্টম লজিক যোগ করতে পারেন:

স্কিমাস আপনার সত্তার ক্ষেত্রগুলি, তাদের প্রকারগুলি এবং কীভাবে সেগুলি রেডিস-এ অভ্যন্তরীণভাবে ম্যাপ করা হয় তা সংজ্ঞায়িত করুন৷ ডিফল্টরূপে, সত্তা Redis-এ হ্যাশে ম্যাপ করে, কিন্তু আপনি JSON নথিতেও তাদের ম্যাপ করতে পারেন:

আপনি যখন একটি স্কিমা তৈরি করেন, তখন এটি আপনার দেওয়া সত্তাকে সংশোধন করে, আপনার সংজ্ঞায়িত বৈশিষ্ট্যগুলির জন্য গেটার এবং সেটার যোগ করে। সেই গেটার এবং সেটাররা যে ধরনের গ্রহণ করে এবং ফেরত দেয় তা উপরের টাইপ প্রপার্টি দিয়ে সংজ্ঞায়িত করা হয়েছে।

ক্লায়েন্ট আপনাকে Redis এর সাথে সংযুক্ত করুন। একজন ক্লায়েন্টের রেডিসের বিরুদ্ধে কাঁচা কমান্ড খোলা, বন্ধ এবং কার্যকর করার পদ্ধতি রয়েছে। আপনি বেশিরভাগ খোলা এবং বন্ধ ব্যবহার করবেন:

একটি রিপোজিটরি চালু করার জন্য একটি স্কিমা এবং একটি ক্লায়েন্ট প্রয়োজন৷ ভান্ডার সত্ত্বা পড়তে, লিখতে এবং সরানোর উপায় প্রদান করে। এবং তাদের অনুসন্ধান করার উপায়:

একবার আমাদের কাছে একটি সংগ্রহস্থল হয়ে গেলে, আমরা সত্তাগুলি তৈরি করতে, পড়তে, আপডেট করতে এবং মুছতে ব্যবহার করতে পারি। এখানে আমি মাশরুমহেডের আমার পছন্দের একটি অ্যালবামের সাথে এটি করছি:

আমরা এটিকে সত্তা অনুসন্ধান করতেও ব্যবহার করতে পারি:

এবং, আপনার কপি-এবং-পেস্ট করার সুবিধার জন্য, কোডের একটি বড় ব্লক হিসাবে এখানে সেই নমুনা দেওয়া হল:

এবং এটি Node.js-এর জন্য Redis OM, যেমন তারা বলে, সংক্ষেপে।

মোড়ানো হচ্ছে

এটি Node.js-এর জন্য Redis OM কী করতে পারে তার একটি দ্রুত ওভারভিউ করা হয়েছে। আপনি যদি আরও জানতে চান, সেখানে একটি টিউটোরিয়াল রয়েছে যা আপনাকে Redis OM-এর সাথে একটি সাধারণ পরিষেবা তৈরি করার জন্য গাইড করবে। এবং যদি আপনি আরও গভীরে যেতে চান, এবং আপনার সম্পূর্ণরূপে উচিত, GitHub-এ README এবং API ডক্সগুলি দেখুন৷

অবশ্যই, এটি একেবারে নতুন সফ্টওয়্যার যা এখনও বন্যতে পরীক্ষা করা হয়নি। আপনি যে বন্য? এটা চেষ্টা করে দেখুন. টায়ারে লাথি দাও। এটা ভাঙার চেষ্টা করুন। সেখানে কী আছে এবং কী থাকতে পারে তা দেখুন। এবং যখন আপনি সেই বাগটি খুঁজে পান বা সেই নিখুঁত বৈশিষ্ট্যটির কথা ভাবেন, আমাকে একটি সমস্যা খোলার মাধ্যমে বা একটি টান অনুরোধ পাঠিয়ে আমাকে জানান। Redis OM কে আরও ভালো করে তুলতে আপনার সাহায্য আন্তরিকভাবে প্রশংসা করা হয়। ধন্যবাদ!


  1. RedisDays লন্ডন 2022-এর জন্য নিবন্ধন করুন

  2. রেডিসের জন্য দশটি দ্রুত টিপস

  3. Redis জন্য 10 দ্রুত টিপস

  4. স্ট্রাপির জন্য সার্ভারহীন রেডিস ক্যাশিং