DECR ফেরত দিন

Decr Pherata Dina



Redis পূর্ণসংখ্যা ম্যানিপুলেশন

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


সংখ্যা ম্যানিপুলেশন একটি অত্যন্ত দরকারী বৈশিষ্ট্য যে কোনো ডাটাবেসে আছে. INCR, DECR, INCRBY, ইত্যাদির মতো পূর্ণসংখ্যার ধরনগুলিতে কাজ করার জন্য Redis বেশ কিছু দরকারী অপারেশন অফার করে৷ এই নির্দেশিকায়, DECR কমান্ড যা পূর্ণসংখ্যার ধরনগুলিতে কাজ করে তা বিশদভাবে ব্যাখ্যা করা হয়েছে৷







ডিইসিআর কমান্ড

DECR কমান্ডটি একটি সংখ্যার মান হ্রাস করার জন্য প্রবর্তন করা হয় যা একটি প্রদত্ত কী এ সংরক্ষিত থাকে। এটি শুধুমাত্র স্ট্রিং মানগুলিতে কাজ করে যা একটি বেস-10 64-বিট পূর্ণসংখ্যা হিসাবে উপস্থাপন করা যেতে পারে। DECR কমান্ড অ-স্ট্রিং মান বা স্ট্রিং মানগুলির জন্য একটি ত্রুটি নিক্ষেপ করে যা পূর্ণসংখ্যা হিসাবে উপস্থাপন করা যায় না।



নিম্নোক্ত DECR কমান্ডের সিনট্যাক্স:



DECR কী


চাবি: কী যা স্ট্রিং মান ধারণ করে।





ডিক্রিমেন্ট অপারেশনের পরে DECR কমান্ড ফলস্বরূপ স্বাক্ষরিত পূর্ণসংখ্যা প্রদান করে। যদি নির্দিষ্ট কীটি বিদ্যমান না থাকে, কমান্ডটি মানটি 0 এ সেট করে এবং তারপরে এটি একটি করে হ্রাস করে। এছাড়াও, একটি ত্রুটি নিক্ষেপ করা হয় যখন মানটি একটি নন-স্ট্রিং হয় বা 64-বিট স্বাক্ষরিত পূর্ণসংখ্যা হিসাবে উপস্থাপন করা যায় না। এই কমান্ডটি ধ্রুবক সময় জটিলতা (O(1)) এর উপর কাজ করে যা অত্যন্ত দ্রুত।

কেস ব্যবহার করুন - একটি অনলাইন গেমে প্লেয়ারের স্বাস্থ্য হ্রাস করুন

আসুন একটি অনলাইন গেম ধরে নিই যেখানে একটি মেডি-প্যাক প্রকাশিত হলে প্রতিটি খেলোয়াড়ের স্বাস্থ্য এক দ্বারা বৃদ্ধি পায়। একইভাবে, একজন খেলোয়াড় পড়ে গেলে বা অন্য খেলোয়াড় দ্বারা আঘাত করলে স্বাস্থ্য এক দ্বারা হ্রাস পায়।



একজন খেলোয়াড়ের স্বাস্থ্য সংরক্ষণ করার জন্য আদর্শ প্রার্থী হল একটি রেডিস স্ট্রিং টাইপ যেখানে আমরা স্বাস্থ্যকে পূর্ণসংখ্যা হিসাবে সংরক্ষণ করতে পারি। আসুন একটি কী তৈরি করি health:playerID:1 এবং এর মান 10 এ সেট করুন। আমরা নিম্নরূপ SET কমান্ড ব্যবহার করতে পারি:

সেট স্বাস্থ্য:প্লেয়ারআইডি: 1 10



আমরা এখানে সংরক্ষিত মান যাচাই করতে GET কমান্ড ব্যবহার করতে পারি health:playerID:1.

স্বাস্থ্য পান:প্লেয়ারআইডি: 1



ধরা যাক যে আইডি 1 সহ প্লেয়ার আঘাতপ্রাপ্ত হয় এবং স্বাস্থ্য এক দ্বারা হ্রাস করা উচিত। DECR কমান্ডটি নিম্নরূপ ব্যবহার করা যেতে পারে:

decr health:playerID: 1


প্রত্যাশিত হিসাবে, DECR কমান্ড নিম্নোক্ত চিত্রে দেখানো হিসাবে হ্রাস অপারেশনের পরে আপডেট করা মান প্রিন্ট করে:


এছাড়াও, আমরা কী এ সংরক্ষিত মান পরিদর্শন করতে পারি health:playerID:1 GET কমান্ড দিয়ে।

স্বাস্থ্য পান:প্লেয়ারআইডি: 1



প্রত্যাশিত হিসাবে, মান এক দ্বারা হ্রাস.

DECR অপারেটর নেতিবাচক সংখ্যার সাথেও বৈধ। আসুন কীটিতে একটি নতুন ঋণাত্মক সংখ্যাসূচক মান সংরক্ষণ করি নেতিবাচক: মান 1 .

সেট নেতিবাচক: মান 1 -3


আমরা নিম্নরূপ GET কমান্ড ব্যবহার করে মান পরিদর্শন করতে পারি:

নেতিবাচক পান: মান1



নিচের কমান্ডটি দেখায় কিভাবে DECR কমান্ড কীটিতে ব্যবহার করা হয় নেতিবাচক:মান1:

decr নেতিবাচক: মান 1


অ-পূর্ণসংখ্যা মানের উপর DECR কমান্ড

কিছু এজ কেস আছে যখন আমরা একটি রেডিস কী-তে DECR কমান্ড ব্যবহার করার চেষ্টা করি যা একটি নন-স্ট্রিং ডেটা টাইপ বা একটি স্ট্রিং ধারণ করে যা পূর্ণসংখ্যা হিসাবে উপস্থাপন করা যায় না। DECR কমান্ড নিম্নলিখিত উদাহরণে দেখানো এই ক্ষেত্রে একটি ত্রুটি নিক্ষেপ করে:

সেট notAnIntergerVal হ্যালো


'হ্যালো' এমন একটি পাঠ্য যা একটি স্বাক্ষরিত পূর্ণসংখ্যাতে রূপান্তর করা যায় না৷ সুতরাং, DECR কমান্ড একটি ত্রুটি উত্থাপন করে যদি আমরা এটিকে এই কীটির বিপরীতে কল করি।

decr notAnIntergerVal


অ-বিদ্যমান কীগুলির উপর DECR কমান্ড

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

decr অ-বিদ্যমান-কী


প্রত্যাশিত হিসাবে, আউটপুট -1.


সামগ্রিকভাবে, কম লেটেন্সি অ্যাপ্লিকেশনে কাউন্টারগুলি বাস্তবায়নের জন্য DECR কমান্ডটি খুবই উপযোগী।

উপসংহার

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