Redis SCARD

Redis Scard



“রেডিস সেটগুলি হল স্ট্রিংগুলির অ-ক্রমবিহীন সংগ্রহ যাতে কোনও সদৃশ নেই৷ এগুলি জাভা হ্যাশসেট, পাইথন সেট ইত্যাদির সাথে অনেকটা একই রকম। সবচেয়ে গুরুত্বপূর্ণভাবে, সদস্যের অস্তিত্ব যোগ করা, অপসারণ করা এবং পরীক্ষা করার মতো মৌলিক ক্রিয়াকলাপগুলি অত্যন্ত দক্ষ কারণ তারা O(1) সময়ের জটিলতায় কাজ করে।'

একটি সেট সদস্য

যেমন উল্লেখ করা হয়েছে, রেডিস সেটগুলিতে অনন্য স্ট্রিং আইটেম রয়েছে। ইতিমধ্যে বিদ্যমান আইটেম Redis সেট দ্বারা গ্রহণ করা হবে না এবং উপেক্ষা করা হবে. উপরন্তু, একটি একক সেট 4 বিলিয়ন অনন্য স্ট্রিং ধরে রাখতে পারে।









অনন্য সদস্যদের ধরে রাখার রেডিস সেটের প্রকৃতি বেশ কিছু বাস্তব-বিশ্ব ব্যবহারের ক্ষেত্রে কাজে আসে।



  • ইউনিয়ন, ইন্টারসেকশন এবং ডিফারেন্সের মত স্ট্যান্ডার্ড সেট অপারেশন করার ক্ষমতা।
  • একটি ওয়েবসাইটে অনন্য দর্শকদের ট্র্যাকিং
  • বাস্তব-বিশ্ব সত্তা সম্পর্ক প্রতিনিধিত্ব করুন

SCARD কমান্ড

SCARD কমান্ড, সেট কার্ডিনালিটির জন্য সংক্ষিপ্ত, একটি প্রদত্ত কীতে সংরক্ষিত একটি সেটের সদস্য সংখ্যা প্রদান করে। এটি O(1) সময়ের জটিলতায় কাজ করে যার অর্থ SCARD কমান্ডটি কার্যকর করতে যে সময় নেয় তা প্রদত্ত সেটের সদস্য সংখ্যার উপর নির্ভর করে না। এটা সবসময় একটি ধ্রুবক সময় লাগে.





SCARD কমান্ডের একটি খুব সাধারণ সিনট্যাক্স রয়েছে, যা নীচে দেখানো হয়েছে।

SCARD সেট_কী

সেট_কী: রেডিস সেটের চাবি



এই কমান্ডটি একটি পূর্ণসংখ্যা মান প্রদান করে যা সেটের সদস্য সংখ্যা।

কেস ব্যবহার করুন - একটি ওয়েবসাইটে অনন্য দর্শক গণনা করুন

অনুমান করুন একটি 'YummyPizza' পিজা কোম্পানি yummypizza.com নামে একটি ওয়েবসাইট রক্ষণাবেক্ষণ করে যেখানে লোকেরা অনলাইনে পিজ্জা অর্ডার করতে পারে। তাদের বিক্রয় এবং গ্রাহক বেস ট্র্যাক রাখতে, তারা প্রতি মাসে ওয়েবসাইটে সমস্ত অনন্য দর্শকদের সংরক্ষণ করার জন্য একটি Redis ডাটাবেস বজায় রাখে।

যখনই একজন ব্যবহারকারী YummyPizza ওয়েবসাইটে যান, তখনই Redis ডাটাবেসে ব্যবহারকারী আইডি যোগ করা উচিত। এছাড়াও, একই ব্যবহারকারীকে ডাটাবেসে যুক্ত করা উচিত নয়। সুতরাং, আদর্শ ডেটা স্ট্রাকচার হল Redis সেট, যেখানে সেট শুধুমাত্র অনন্য সদস্যদের সঞ্চয় করে।

ধরা যাক যে পাঁচজন ব্যবহারকারী ওয়েবসাইটটি পরিদর্শন করেছেন, এবং এই সদস্যদের রেডিস ডাটাবেসে যুক্ত করা হয়েছে, যেমনটি নীচে দেখানো হয়েছে।

SADD সুস্বাদু পিজা দর্শক: অক্টোবর জন মেরি রাজা স্টয়নিস প্রিন্স

প্রত্যাশিত হিসাবে, পূর্ণসংখ্যা 5 ফেরত দেওয়া হয়েছে, যার অর্থ কী “এ সংরক্ষিত সেটে পাঁচটি সদস্য যোগ করা হয়েছে সুস্বাদু পিজা দর্শক: অক্টোবর। '

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

আসুন কী এ সংরক্ষিত সেটে SCARD কমান্ডটি কার্যকর করি ' সুস্বাদু পিজা দর্শক: অক্টোবর। '

scard সুস্বাদু পিজা দর্শক:অক্টোবর

আউটপুট 5, যার অর্থ পাঁচটি অনন্য সদস্য নির্দিষ্ট সেটে রয়েছে। এই কমান্ডটি খুব দ্রুত কার্যকর করে। এটা পাঁচ সদস্য বা 50000 সদস্য কোন ব্যাপার না; মৃত্যুদন্ডের সময় ধ্রুবক হবে।

অনুমান করুন যে নির্দিষ্ট সেট কীটি Redis ডাটাবেসে বিদ্যমান নেই। তারপর, আউটপুট 0 হবে, যেমনটি নিম্নলিখিত উদাহরণে দেখানো হয়েছে। এই ক্ষেত্রে, আমরা একটি কী নির্দিষ্ট করতে যাচ্ছি যা ডাটাবেসে নেই।

scard NonExistingKey

উপসংহার

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