কম্পিউটার

রেডিসের সাথে JSON নথিগুলির সূচীকরণ, অনুসন্ধান এবং সম্পূর্ণ-পাঠ্য অনুসন্ধান

RedisJSON এবং RediSearch আমাদের ক্লাউডের সবচেয়ে জনপ্রিয় Redis মডিউল। (চিত্র 1 দেখুন) RedisJSON এবং RediSearch এর ডকার ইমেজ (Redis এর সাথে বান্ডিল) প্রতি এক দিনে 2000 বারের বেশি টানা হয়। এই কারণেই আমরা Redis-এর প্রযুক্তি প্রচারক ইটামার হ্যাবারকে একজন স্বপ্নদর্শী হিসাবে ভাবি যখন তিনি 4 বছর আগে প্রথম সংস্করণটি লিখেছিলেন। এপ্রিল মাসে, আমরা JSON, ইন্ডেক্সিং এবং পূর্ণ-পাঠ্য অনুসন্ধান ক্ষমতা সম্পর্কিত RedisConf-এ বেশ কয়েকটি ঘোষণা করেছি। আজ, আমরা এই ক্ষমতাগুলির ব্যক্তিগত পূর্বরূপ ঘোষণা করতে পেরে আনন্দিত৷

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

রেডিসের সাথে JSON নথিগুলির সূচীকরণ, অনুসন্ধান এবং সম্পূর্ণ-পাঠ্য অনুসন্ধান

JSON ক্ষমতা

আপনার যখন RedisJSON না থাকে, তখন আপনি স্ট্রিং ডেটা স্ট্রাকচার ব্যবহার করে Redis-এ নেস্টেড নথির মডেল তৈরি করেন।

কিন্তু, যদি আমাদের ডকুমেন্টের একটি সাবপার্ট আপডেট করতে হয়?

অপারেশনের পারমাণবিকতা সংরক্ষণ করতে, আমাদের প্রয়োজন হবে:

  1. দস্তাবেজের জন্য দেখুন
  2. পূর্ববর্তী সংস্করণটি পড়ুন এবং এটিকে ডিসিরিয়ালাইজ করুন
  3. একটি Redis লেনদেনে আপডেটটি এম্বেড করুন
  4. JSON-এ সিরিয়ালাইজ করুন এবং ডকুমেন্ট আপডেট করুন
  5. লেনদেন সম্পাদন করুন

অন্য ক্লায়েন্ট এই প্রক্রিয়া চলাকালীন নথি আপডেট করলে আমাদের এই সমস্ত পদক্ষেপগুলি পুনরায় চেষ্টা করতে হতে পারে৷

যাইহোক, RedisJSON এর সাথে, আমরা একটি পারমাণবিক লেনদেনের সাথে এই আপডেটটি করতে পারি :

আসুন আরেকটি উদাহরণ দেখি, যেখানে আপনার একটি বড় JSON আছে, কিন্তু আপনার আবেদনে শুধুমাত্র সেই নথির একটি সাবপার্ট প্রয়োজন৷

RedisJSON ছাড়া:

আপনাকে করতে হবে:

  1. পুরো json স্ট্রিং পুনরুদ্ধার করুন, একটি স্ট্রিং হিসাবে ক্রমিক করা হয়েছে
  2. JSON কে ডিসিরিয়ালাইজ করুন
  3. আপনার প্রয়োজনীয় সাবপার্ট বের করুন

RedisJSON-এর সাহায্যে, আপনি শুধুমাত্র একটি কমান্ডের মাধ্যমে আপনার প্রয়োজনীয় ডেটা পুনরুদ্ধার করতে পারেন, CPU চক্র, নেটওয়ার্ক ওভারহেড এবং সবচেয়ে গুরুত্বপূর্ণভাবে, লেটেন্সি কমিয়ে আনতে পারেন।

আপনি দেখতে পাচ্ছেন, RedisJSON JSON ডকুমেন্ট ম্যানিপুলেশনকে সহজ করে তোলে। RedisJSON (v1.0) এর বর্তমান GA সংস্করণ হল এমন একটি সংস্করণ যা সম্প্রদায় ইতিমধ্যে ব্যাপকভাবে ব্যবহার করছে এবং স্ট্রিং ডেটা স্ট্রাকচারের সাথে নেস্টেড স্ট্রাকচারের মডেলিংয়ের ত্রুটিগুলি ঠিক করে সমাধান করে৷ এখানে এর কিছু মূল ক্ষমতার একটি ওভারভিউ রয়েছে।

Redis-এ একটি কী-এর সাথে যুক্ত একটি JSON নথি সংরক্ষণ করুন (বা আপডেট করুন)

একটি সাবপার্ট প্রতিস্থাপন করুন (যেমন একটি কী এর স্ট্রিং মান)

একটি সংগ্রহ বা মানচিত্রে একটি আইটেম যোগ করুন

সম্পূর্ণ নথিটি বের করুন

JSONPath-এর একটি উপসেট ব্যবহার করে এর কিছু অংশ বের করুন

RedisJSON 2.0:ব্যক্তিগত পূর্বরূপ প্রকাশ

আমরা RedisConf 2021-এ এই সংস্করণটি ঘোষণা করেছি, এবং আজ আমরা ঘোষণা করতে পেরে আনন্দিত যে এটি আমাদের Redis Enterprise গ্রাহকদের একটি নির্বাচিত গোষ্ঠীর জন্য একটি ব্যক্তিগত পূর্বরূপ হিসাবে উপলব্ধ—এবং আমাদের সম্প্রদায়ের কাছে রিলিজ প্রার্থী হিসাবে। এই সংস্করণে তিনটি প্রধান বৈশিষ্ট্য রয়েছে, যথা, JSONPath এক্সপ্রেশনের সম্পূর্ণ সমর্থন, সক্রিয়-অ্যাক্টিভের জন্য সমর্থন (Redis এন্টারপ্রাইজের সাথে), এবং RediSearch এর সাথে JSON নথিতে সূচীকরণ, অনুসন্ধান এবং পূর্ণ-পাঠ্য অনুসন্ধান ব্যবহার করার ক্ষমতা। কিন্তু আরো আছে! আসুন নতুন ভাল জিনিসগুলিতে ডুব দেওয়া যাক৷

RUST-এ পুনরায় লেখা

সিস্টেম প্রোগ্রামিং ল্যাঙ্গুয়েজ হল দক্ষতার জন্য ভিত্তিক ভাষার একটি পরিবার। এই ভাষাগুলিতে লেখা প্রোগ্রামগুলি সাধারণত হালকা হয় এবং সেরা পারফরম্যান্স প্রদান করে। এই কারণেই রেডিসকে ঐতিহাসিকভাবে সি-তে লেখা হয়েছে। এটাও ব্যাখ্যা করে যে কেন রেডিস অত্যন্ত কম বিলম্ব এবং উচ্চ থ্রুপুট অর্জন করতে সক্ষম। বেশিরভাগ রেডিস মডিউল সি, সি++ বা মরিচায় লেখা হয়, যা একই পরিবারের ভাষা।

JSON খুব দ্রুত এবং দক্ষ JSON সিরিয়ালাইজেশন এবং JSONPath বাস্তবায়ন সহ মরিচা সম্প্রদায় দ্বারা বিশেষভাবে ভাল পরিবেশন করা হয়। Redis ব্যবহারকারীদের এই বাস্তবায়নের সুবিধা প্রদান করা সুস্পষ্ট ছিল এবং শুধুমাত্র Redis মডিউল API এবং Rust এর মধ্যে একটি ম্যাপিং প্রয়োজন।

JSONPath এর জন্য সম্পূর্ণ সমর্থন

এবং এখানে এই RUST পুনর্লিখনের সুবিধা। এই নতুন সংস্করণে JSONPath-এর ব্যাপক সমর্থন রয়েছে। এখন JSONPath এক্সপ্রেশনের সমস্ত অভিব্যক্তি ব্যবহার করা সম্ভব।

একটি JSON নথি দেওয়া হয়েছে

ওয়াইল্ডকার্ড (আগে প্রথম আইটেমের মধ্যে সীমাবদ্ধ ছিল)

স্লাইস নিষ্কাশন করুন

ফিল্টার এক্সপ্রেশন সহ আরও উন্নত উদাহরণ

সক্রিয়-সক্রিয় জন্য সমর্থন

Active-Active হল Redis Enterprise দ্বারা প্রদত্ত একটি বৈশিষ্ট্য। অ্যাক্টিভ-অ্যাক্টিভ আপনাকে আপনার ডাটাবেসকে বিভিন্ন ভৌগলিকভাবে বিতরণ করা Redis এন্টারপ্রাইজ ক্লাস্টারে প্রতিলিপি করতে দেয়। ব্যবহারকারীরা স্থানীয় রিড এবং রাইট লেটেন্সি সহ নিকটতম ক্লাস্টারের সাথে সংযোগ করতে পারেন৷

বাস্তবায়নটি দ্বন্দ্ব-মুক্ত প্রতিলিপিকৃত ডেটা-টাইপ (CRDT) প্রযুক্তির উপর ভিত্তি করে। Redis দ্বারা সমর্থিত বেশিরভাগ মূল ডেটা স্ট্রাকচারের জন্য এটি বাস্তবায়ন করার সময়, Redis একটি শক্তিশালী জ্ঞান এবং অভিজ্ঞতা তৈরি করেছে যা JSON-এর জন্য তৈরি এই নতুন বাস্তবায়ন দ্বারা নিশ্চিত করা হয়েছে।

অ্যাপ্লিকেশন বিকাশকারীরা এখন JSON নথি ব্যবহার করে জিও-ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন তৈরি করতে এর উপর নির্ভর করতে পারে। এখানে দুটি ক্লাস্টার সহ একটি সক্রিয়-সক্রিয় পরিবেশে ক্রিয়াকলাপের উত্তরাধিকারের একটি উদাহরণ রয়েছে:

রেডিসের সাথে JSON নথিগুলির সূচীকরণ, অনুসন্ধান এবং সম্পূর্ণ-পাঠ্য অনুসন্ধান

প্রতিটি অপারেশনের বিস্তারিত দেখুন:

  • T1:একটি ক্লায়েন্ট ক্লাস্টার 1 এ একটি JSON নথি সেট করে।
  • T2:সিঙ্ক্রোনাইজেশন প্রক্রিয়া ক্লাস্টার 2-এ নথির প্রতিলিপি করে।
  • T3:উভয় ক্লাস্টারে একই নথি রয়েছে।
  • T4:একটি ক্লায়েন্ট ক্লাস্টার 1-এর কালার অ্যারেতে নীল রঙ যোগ করে, এবং একই সাথে, অন্য ক্লায়েন্ট ক্লাস্টার 2-এ একই অ্যারেতে সবুজ রঙ যোগ করছে।
  • T5:সিঙ্ক্রোনাইজেশন প্রক্রিয়া অপারেশনকে একত্রিত করে এবং উভয় ক্লাস্টারে নথি আপডেট করে।
  • T6:উভয় ক্লাস্টারে একই ডকুমেন্ট রয়েছে।

যখন এই ক্ষমতাটি সর্বজনীন প্রিভিউতে থাকে তখন আমরা সমস্ত সিঙ্ক্রোনাইজেশন প্রবাহ সম্পর্কে আরও বিস্তারিত জানাব, কিন্তু আপনি যদি এই সক্ষমতার বিষয়ে আগ্রহী হন, তাহলে [email protected]এ এখনই যোগাযোগ করতে দ্বিধা করবেন না৷

RediSearch 2.2:ব্যক্তিগত পূর্বরূপ প্রকাশ

এই ব্লগটি RediSearch 2.2 (আমাদের Redis Enterprise গ্রাহকদের একটি নির্বাচিত গোষ্ঠীর জন্য একটি ব্যক্তিগত পূর্বরূপ এবং আমাদের সম্প্রদায়ের জন্য একটি রিলিজ প্রার্থী হিসাবে) এর জন্য একটি ব্যক্তিগত পূর্বরূপের উপলব্ধতাও ঘোষণা করে৷

এই বিভাগে আমরা RediSearch-এর এই নতুন রিলিজ দ্বারা প্রদত্ত নতুন বৈশিষ্ট্যগুলি বর্ণনা করতে যাচ্ছি। তবে প্রথমে, এখানে একটি কারণ রয়েছে কেন আমরা সেই দুটি জনপ্রিয় মডিউল একসাথে প্রকাশ করছি:

JSON নথিগুলির সূচীকরণ, অনুসন্ধান এবং সম্পূর্ণ পাঠ্য অনুসন্ধান

এই বিশেষ নতুন বৈশিষ্ট্যটি রেডিসের JSON ক্ষমতাগুলিকে সম্পূর্ণ নতুন স্তরে নিয়ে আসবে। কী-ভ্যালু স্টোরের বাইরে গিয়ে, এখন পর্যন্ত, রেডিসার্চ হ্যাশে সূচীকরণ এবং অনুসন্ধান ক্ষমতা প্রদান করে আসছে। হুডের নিচে, RedisJSON 2.0 একটি অভ্যন্তরীণ পাবলিক API প্রকাশ করে। অভ্যন্তরীণ, কারণ এই API একটি Redis নোডের ভিতরে চলমান অন্যান্য মডিউলগুলির সংস্পর্শে এসেছে। পাবলিক, কারণ যেকোনো মডিউল এই API ব্যবহার করতে পারে। তাই RediSearch 2.2!

অন্যান্য মডিউলের কাছে এর ক্ষমতা প্রকাশ করার মাধ্যমে, RedisJSON RediSearch কে JSON নথিগুলিকে সূচী করার ক্ষমতা দেয় যাতে ব্যবহারকারীরা এখন বিষয়বস্তু সূচীকরণ এবং অনুসন্ধানের মাধ্যমে নথিগুলি খুঁজে পেতে পারেন৷ এই সম্মিলিত মডিউলগুলি আপনাকে দেয় একটি শক্তিশালী, কম লেটেন্সি, JSON-ভিত্তিক ডকুমেন্ট ডেটাবেস !

এটি দেখতে কেমন হবে তা দেখে নেওয়া যাক৷

আমাদের প্রথমে JSON.SET কমান্ড ব্যবহার করে একটি JSON নথি দিয়ে ডাটাবেস তৈরি করা উচিত।

একটি নতুন সূচক তৈরি করতে, আমরা FT.CREATE কমান্ড ব্যবহার করি। ইনডেক্সের স্কিমা এখন JSONPath এক্সপ্রেশন গ্রহণ করে। অভিব্যক্তির ফলাফলটি সূচীযুক্ত এবং একটি বৈশিষ্ট্যের সাথে যুক্ত (এখানে:শিরোনাম)।

আমরা এখন একটি অনুসন্ধান ক্যোয়ারী করতে পারি এবং FT.SEARCH:

ব্যবহার করে আমাদের JSON নথি খুঁজে পেতে পারি

JSON নথিতে সমষ্টি

একত্রীকরণ হল RediSearch-এর একটি শক্তিশালী বৈশিষ্ট্য যা বিশ্লেষণাত্মক প্রতিবেদন তৈরি করতে বা মুখী অনুসন্ধান শৈলী প্রশ্নগুলি সম্পাদন করতে ব্যবহার করা যেতে পারে। এখন যেহেতু RediSearch JSON নথিগুলি অ্যাক্সেস করতে পারে, তাই JSONPath এক্সপ্রেশন ব্যবহার করে একটি JSON নথি থেকে যেকোনো মান লোড করা সম্ভব এবং মানটি ইন্ডেক্স করা হোক বা না হোক একটি পাইপলাইনে এটি ব্যবহার করা সম্ভব৷

আসুন একটি সূচক তৈরি করি:

ডাটাবেসে একটি JSON নথি যোগ করুন:

এবং JSON নথি থেকে বের করা দুটি সংখ্যাসূচক মান ব্যবহার করে একটি সাধারণ গণনা করুন:

সূচীকরণ কৌশলে আরও নমনীয়তা

RediSearch-এর নতুন সংস্করণের সাথে, এখন বিভিন্ন পরামিতি সহ একই মান (হ্যাশের ক্ষেত্র বা JSON নথি থেকে JSON মান) সূচক করা সম্ভব। এখানে একটি সাধারণ ব্যবহারের ক্ষেত্রে রয়েছে, এই নতুন বৈশিষ্ট্য দ্বারা সমাধান করা হয়েছে:

আসুন বিভাগগুলির অন্তর্গত ডকুমেন্ট সহ একটি ডাটাবেস আছে।

TAG প্রকার ব্যবহার করে আপনি সহজেই যেকোনো বিভাগে আপনার অনুসন্ধানের ফলাফল ফিল্টার করতে পারেন:

কিন্তু আপনি যদি বিভাগগুলিতে একটি সম্পূর্ণ-পাঠ্য অনুসন্ধান করতে সক্ষম হতে চান?

এখন পর্যন্ত, হ্যাশের সাহায্যে, আপনাকে মানটিকে দুটি ক্ষেত্রে নকল করতে হবে, যা দ্বিগুণ মেমরি ব্যবহার করবে।

এখানেই FT.CREATE...AS সুবিধার চেয়ে বেশি হয়ে উঠেছে। আসুন আমাদের সুন্দর এবং সহজ নথিতে ফিরে যাই:

…এবং নতুন AS বৈশিষ্ট্য ব্যবহার করুন:

…এবং…

বিঙ্গো ! আমরা এখন একটি ট্যাগ দ্বারা ফিল্টার করতে পারি, এবং একই ক্ষেত্রে একটি সম্পূর্ণ পাঠ্য অনুসন্ধান করতে পারি, ডেটা নকল না করেই৷

কোয়েরি প্রোফাইলিং

বেশিরভাগ রেডিস কমান্ডের সময় জটিলতা ভালভাবে নথিভুক্ত। উদাহরণ হিসাবে, HMGET O(N) এর জটিলতার সাথে আসে, "যেখানে N হল অনুরোধ করা ক্ষেত্রগুলির সংখ্যা।" RediSearch-এর সাহায্যে উন্নত প্রশ্ন লেখা সম্ভব। FT.SEARCH এবং FT.AGGREGATE কমান্ডের জটিলতা, যাইহোক, প্রশ্নের জটিলতার উপর নির্ভর করে৷

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

তাই যখন আমরা একটি অস্পষ্ট অনুসন্ধানের সাথে একটি প্রশ্ন করি তখন রেডিসার্চের ভিতরে কী ঘটে?

একটি উদাহরণ দেখা যাক:

আমরা আমাদের প্রশ্ন প্রোফাইল করতে প্রস্তুত. আসুন প্রোফাইলিং চালাই এবং প্রোফাইলিং ফলাফল পচন করি।

redis.cloud:6379> FT.PROFILE idx SEARCH LIMITED QUERY "%hello%"

প্রথমে আমরা ফলাফল পাই। প্রোফাইলিং ক্যোয়ারী যা প্রত্যাশিত তা প্রদান করে কিনা তা পরীক্ষা করার জন্য দরকারী৷

এখানে "প্রোফাইল টাইম" বলা হয় মোট সময়, কারণ এতে প্রোফাইল তথ্য সংগ্রহ করার সময় ব্যয় করা হয়।

ক্যোয়ারী পার্সিং এবং এক্সিকিউশন প্ল্যান তৈরি করতে যে সময় ব্যয় হয়েছে:

অভিধানে অস্পষ্ট মিল খুঁজে পেতে সময় ব্যয় করা হয়েছে:

এবং অবশেষে, আপনি কি কখনও ভেবে দেখেছেন যে অনুসন্ধান ফলাফল তৈরি করার অর্থ কী? আমাদের প্রতিটি নথির জন্য পূর্ণ-পাঠ্য স্কোর গণনা করতে হবে, স্কোর অনুসারে বাছাই করতে হবে এবং অবশেষে ক্ষেত্রগুলি লোড করতে হবে। এই তথ্যের সাহায্যে আপনি বাধা শনাক্ত করতে পারেন, প্রশ্নগুলি দ্রুত করতে পারেন এবং সার্ভারের কর্মক্ষমতা উন্নত করতে পারেন৷

কিভাবে শুরু করবেন

আমরা বিশ্বাস করি যে এই নতুন ক্ষমতাগুলি অ্যাপ্লিকেশন বিকাশকারী এবং রেডিস সম্প্রদায়ের জন্য গেম পরিবর্তনকারী। আপনি কীভাবে শুরু করবেন তা এখানে।

প্রিভিউ এর ডকার ইমেজ ব্যবহার করুন

শুরু করার জন্য আপনি নিম্নলিখিত ডকার ইমেজটি টানতে পারেন :প্রিভিউ ট্যাগ:

docker run -p 6379:6379 redis/redismod:preview

বিকল্পভাবে, আপনি উভয় সংগ্রহস্থলে RC1 রিলিজ ট্যাগ (RediSearch-এর জন্য v2.2.0, RedisJSON-এর জন্য v2.0.0) থেকে কম্পাইল করতে পারেন এবং সেগুলি Redis-এ লোড করতে পারেন।

আপনি একবার চালু হয়ে গেলে, আপনি উপরের সমস্ত কমান্ড বা এই কুইকস্টার্ট গাইডের সাথে চেষ্টা করে দেখতে পারেন। আমরা RedisMart সম্পর্কে ব্লগের একটি সিরিজও চালু করব , একটি অনলাইন খুচরা অ্যাপ্লিকেশন যা আমরা RedisConf 2021-এর মূল বক্তব্যের সময় প্রদর্শন করেছি। RedisMart সেরা অনলাইন খুচরা অভিজ্ঞতা প্রদানের জন্য একটি ভূ-বিতরণ পদ্ধতিতে RediSearch এবং RedisJSON ব্যবহার করে। এই সিরিজে, আমরা কীভাবে এই অ্যাপ্লিকেশনটি তৈরি করি তার মাধ্যমে আমরা আপনাকে ধাপে ধাপে নিয়ে যাব।

সামঞ্জস্যপূর্ণ ক্লায়েন্টদের সর্বশেষ সংস্করণ ব্যবহার করে বিকাশ করুন

নিম্নলিখিত ক্লায়েন্টদের তালিকা বর্তমানে আপগ্রেড করা হচ্ছে যাতে আপনি একটি ভাল বিকাশকারী অভিজ্ঞতার সাথে নতুন বৈশিষ্ট্যগুলি ব্যবহার করতে সক্ষম হন। সর্বশেষ রিলিজ এবং/অথবা পুল অনুরোধগুলি পরীক্ষা করুন (এই মুহুর্তে তাদের বেশিরভাগই মাস্টার শাখায় পূর্বরূপ সংস্করণ সমর্থন করছে)।

RedisJSON RediSearch
Node.js redis-modules-sdk redis-modules-sdk
জাভা JredisJSON JRediSearch
.NET NRedisJSON NRediSearch
পাইথন redisjson-py রিসার্চ-পি

সমাজে যোগ দিন

আমরা সাধারণ উপলব্ধতার দিকে কাজ করার সময় আমরা যেকোনো প্রতিক্রিয়া, বাগ রিপোর্ট, বৈশিষ্ট্য অনুরোধকে স্বাগত জানাই। ডকুমেন্টেশন ওয়েবসাইটগুলিতে বা RediSearch (Github-এ) বা RedisJSON (Github-এ) এর গিথুব রিপোজিটরিগুলিতে প্রতিক্রিয়া দিন বা Discord-এ আমাদের সাথে যোগাযোগ করুন৷


  1. সার্ভারলেস রেডিস এবং প্রতিক্রিয়া নেটিভ সহ অ্যাপ-মধ্যস্থ ঘোষণা

  2. Nuxt 3 এবং সার্ভারলেস রেডিস দিয়ে শুরু করা

  3. ফ্লটার, সার্ভারলেস ফ্রেমওয়ার্ক এবং আপস্ট্যাশ (REDIS) সহ ফুলস্ট্যাক সার্ভারলেস অ্যাপ - পার্ট 2

  4. ফ্লটার, সার্ভারলেস ফ্রেমওয়ার্ক এবং আপস্ট্যাশ (REDIS) সহ ফুলস্ট্যাক সার্ভারলেস অ্যাপ - পার্ট 1