திரும்ப DECR

Tirumpa Decr



ரெடிஸ் முழு எண் கையாளுதல்

சரம் வகை என்பது ரெடிஸ் வழங்கும் மிக அடிப்படையான தரவு வகையாகும். ரெடிஸ் சரங்கள் உரைகள், வரிசைப்படுத்தப்பட்ட JSON பொருள்கள், படங்கள், ஆடியோ மற்றும் எண் மதிப்புகள் ஆகியவற்றைச் சேமிக்கும் திறன் கொண்டவை. இந்த வழிகாட்டியில், எண் மதிப்புகள் மற்றும் முழு எண்களின் கையாளுதல் ஆகியவற்றில் கவனம் செலுத்துவோம். எண்ணியல் தரவை வைத்திருக்க தனி முழு எண் தரவு வகைகளை Redis ஆதரிக்காது. ஒரு Redis விசை ஒரு முழு எண்ணாகக் குறிப்பிடப்படும் சரத்தைக் கொண்டிருந்தால், Redis எண் மதிப்புகளை அடிப்படை-10 64-பிட் கையொப்பமிடப்பட்ட முழு எண்களாக விளக்கலாம்.


எந்த தரவுத்தளத்திலும் எண் கையாளுதல் மிகவும் பயனுள்ள அம்சமாகும். ரெடிஸ் INCR, DECR, INCRBY போன்ற முழு எண் வகைகளில் வேலை செய்ய பல பயனுள்ள செயல்பாடுகளை வழங்குகிறது. இந்த வழிகாட்டியில், முழு எண் வகைகளில் செயல்படும் DECR கட்டளை விரிவாக விளக்கப்பட்டுள்ளது.







DECR கட்டளை

கொடுக்கப்பட்ட விசையில் சேமிக்கப்படும் ஒரு எண் மதிப்பைக் குறைக்க DECR கட்டளை அறிமுகப்படுத்தப்பட்டது. இது ஒரு அடிப்படை-10 64-பிட் முழு எண்ணாகக் குறிப்பிடப்படும் சர மதிப்புகளில் மட்டுமே செயல்படும். DECR கட்டளையானது சரம் அல்லாத மதிப்புகள் அல்லது முழு எண்களாகக் குறிப்பிட முடியாத சரம் மதிப்புகளுக்குப் பிழையை ஏற்படுத்துகிறது.



DECR கட்டளையின் தொடரியல் பின்வருமாறு:



DECR விசை


முக்கிய: சர மதிப்பைக் கொண்டிருக்கும் விசை.





DECR கட்டளை குறைப்பு செயல்பாட்டிற்குப் பிறகு கையொப்பமிடப்பட்ட முழு எண்ணை வழங்குகிறது. குறிப்பிடப்பட்ட விசை இல்லை என்றால், கட்டளை மதிப்பை 0 ஆக அமைக்கிறது, பின்னர் அதை ஒன்று குறைக்கிறது. மேலும், மதிப்பு சரம் அல்லாத போது அல்லது 64-பிட் கையொப்பமிடப்பட்ட முழு எண்ணாகக் குறிப்பிடப்பட முடியாதபோது பிழை ஏற்படுகிறது. இந்த கட்டளை மிகவும் வேகமான நிலையான நேர சிக்கலில் (O(1)) செயல்படுகிறது.

ஆன்லைன் கேமில் கேஸைப் பயன்படுத்தவும் - பிளேயர் ஆரோக்கியத்தைக் குறைக்கவும்

ஒரு ஆன்லைன் கேமை எடுத்துக்கொள்வோம், அதில் ஒரு மெடி-பேக் வெளிப்படும் போது ஒவ்வொரு வீரரின் ஆரோக்கியமும் ஒன்று அதிகரிக்கும். அதேபோல, ஆட்டக்காரர் விழுந்தாலோ அல்லது மற்றொரு வீரரால் அடிக்கப்பட்டாலோ ஆரோக்கியம் ஒருவரால் குறையும்.



ஒரு வீரரின் ஆரோக்கியத்தை சேமிப்பதற்கான சிறந்த வேட்பாளர் ரெடிஸ் சரம் வகையாகும், அங்கு நாம் ஆரோக்கியத்தை முழு எண்ணாக சேமிக்க முடியும். ஒரு விசையை உருவாக்குவோம் health:playerID:1 அதன் மதிப்பை 10 ஆக அமைக்கவும். SET கட்டளையை பின்வருமாறு பயன்படுத்தலாம்:

அமைக்கப்பட்டது health:playerID: 1 10



சேமிக்கப்பட்ட மதிப்பைச் சரிபார்க்க, GET கட்டளையைப் பயன்படுத்தலாம் health:playerID:1.

ஆரோக்கியத்தைப் பெறுங்கள்:playerID: 1



ஐடி 1 உள்ள பிளேயருக்கு அடிபட்டால், உடல்நிலை ஒன்று குறைய வேண்டும் என்று சொல்லலாம். DECR கட்டளையை பின்வருமாறு பயன்படுத்தலாம்:

decr health:playerID: 1


எதிர்பார்த்தபடி, DECR கட்டளை பின்வரும் படத்தில் காட்டப்பட்டுள்ளபடி குறைப்பு செயல்பாட்டிற்குப் பிறகு புதுப்பிக்கப்பட்ட மதிப்பை அச்சிடுகிறது:


மேலும், விசையில் சேமிக்கப்பட்ட மதிப்பை நாம் ஆய்வு செய்யலாம் health:playerID:1 GET கட்டளையுடன்.

ஆரோக்கியத்தைப் பெறுங்கள்:playerID: 1



எதிர்பார்த்தபடி, மதிப்பு ஒன்று குறைந்துள்ளது.

DECR ஆபரேட்டர் எதிர்மறை எண்களிலும் செல்லுபடியாகும். விசையில் ஒரு புதிய எதிர்மறை எண் மதிப்பைச் சேமிப்போம் எதிர்மறை:மதிப்பு1 .

அமைக்கப்பட்டது எதிர்மறை:மதிப்பு1 -3


GET கட்டளையைப் பயன்படுத்தி மதிப்பை பின்வருமாறு ஆய்வு செய்யலாம்:

எதிர்மறை பெறவும்:மதிப்பு1



விசையில் DECR கட்டளை எவ்வாறு பயன்படுத்தப்படுகிறது என்பதை பின்வரும் கட்டளை காட்டுகிறது எதிர்மறை:மதிப்பு1:

decr எதிர்மறை:மதிப்பு1


முழு எண் அல்லாத மதிப்புகள் மீதான DECR கட்டளை

சரம் அல்லாத தரவு வகை அல்லது முழு எண்ணாகக் குறிப்பிட முடியாத சரத்தை வைத்திருக்கும் Redis விசையில் DECR கட்டளையைப் பயன்படுத்த முயற்சிக்கும் போது சில விளிம்பு நிலைகள் உள்ளன. பின்வரும் எடுத்துக்காட்டில் காட்டப்பட்டுள்ளபடி DECR கட்டளை அந்த சந்தர்ப்பங்களில் ஒரு பிழையை வீசுகிறது:

அமைக்கப்பட்டது notAnIntergerVal வணக்கம்


'ஹலோ' என்பது கையொப்பமிடப்பட்ட முழு எண்ணாக மாற்ற முடியாத உரை. எனவே, இந்த விசைக்கு எதிராக நாம் அழைத்தால் DECR கட்டளை பிழையை எழுப்புகிறது.

இன்டர்ஜெர்வால் அல்ல


இல்லாத விசைகள் மீதான DECR கட்டளை

சில சமயங்களில், Redis டேட்டா ஸ்டோரில் இல்லாத ஒரு விசையில் DECR கட்டளையை நீங்கள் அழைக்கலாம். எனவே, கட்டளை குறிப்பிட்ட விசையை உருவாக்கி அதன் மதிப்பை முழு எண் 0 ஆக அமைக்கிறது. அதே நேரத்தில், மதிப்பு ஒன்று குறைக்கப்படுகிறது.

decr non-existing-key


எதிர்பார்த்தபடி, வெளியீடு -1.


ஒட்டுமொத்தமாக, DECR கட்டளையானது குறைந்த தாமத பயன்பாடுகளில் கவுண்டர்களை செயல்படுத்த மிகவும் பயனுள்ளதாக இருக்கும்.

முடிவுரை

சுருக்கமாக, கொடுக்கப்பட்ட Redis விசையில் சேமிக்கப்படும் எண் மதிப்புகளில் செயல்படும் கட்டளைகளில் DECR ஒன்றாகும். ரெடிஸ் தனி முழு எண் தரவு வகையை ஆதரிக்காது. எனவே, எண் மதிப்புகளையும் வைத்திருக்க சரம் வகை பயன்படுத்தப்படுகிறது. ஆய்வு செய்தபடி, சரத்தின் மதிப்பை 64-பிட் கையொப்பமிடப்பட்ட முழு எண்ணாகக் குறிப்பிட முடியுமானால், அதன் மதிப்பைக் குறைக்க DECR கட்டளையைப் பயன்படுத்தலாம். மிக முக்கியமாக, இது நிலையான நேர சிக்கலில் செயல்படுகிறது. மேலும், கவுண்டர்களை செயல்படுத்த DECR கட்டளை பரவலாகப் பயன்படுத்தப்படுகிறது.