తిరిగి DECR

Tirigi Decr



రెడిస్ పూర్ణాంక మానిప్యులేషన్

స్ట్రింగ్ రకం అనేది Redis అందించే అత్యంత ప్రాథమిక డేటా రకం. Redis స్ట్రింగ్‌లు టెక్స్ట్‌లు, క్రమీకరించిన JSON వస్తువులు, చిత్రాలు, ఆడియో మరియు సంఖ్యా విలువలను కూడా నిల్వ చేయగలవు. ఈ గైడ్‌లో, మేము సంఖ్యా విలువలు మరియు పూర్ణాంకాల మానిప్యులేషన్‌పై దృష్టి పెడతాము. సంఖ్యా డేటాను ఉంచడానికి ప్రత్యేక పూర్ణాంక డేటా రకాలకు Redis మద్దతు ఇవ్వదు. Redis కీ పూర్ణాంకం వలె సూచించబడే స్ట్రింగ్‌ను కలిగి ఉంటే, Redis సంఖ్య విలువలను బేస్-10 64-బిట్ సంతకం చేసిన పూర్ణాంకాలుగా అర్థం చేసుకోవచ్చు.


ఏదైనా డేటాబేస్‌లో ఉండేలా నంబర్ మానిప్యులేషన్ చాలా ఉపయోగకరమైన ఫీచర్. INCR, DECR, INCRBY మొదలైన పూర్ణాంక రకాలపై పని చేయడానికి Redis అనేక ఉపయోగకరమైన కార్యకలాపాలను అందిస్తుంది. ఈ గైడ్‌లో, పూర్ణాంక రకాలపై పనిచేసే DECR కమాండ్ వివరంగా వివరించబడింది.







DECR కమాండ్

DECR కమాండ్ అందించబడిన కీ వద్ద నిల్వ చేయబడిన సంఖ్య విలువను ఒక్కొక్కటిగా తగ్గించడానికి పరిచయం చేయబడింది. ఇది బేస్-10 64-బిట్ పూర్ణాంకం వలె సూచించబడే స్ట్రింగ్ విలువలపై మాత్రమే పని చేస్తుంది. DECR కమాండ్ నాన్-స్ట్రింగ్ విలువలు లేదా పూర్ణాంకాలుగా సూచించలేని స్ట్రింగ్ విలువల కోసం ఎర్రర్‌ను విసురుతుంది.



కిందిది DECR కమాండ్ యొక్క సింటాక్స్:



DECR కీ


కీ: స్ట్రింగ్ విలువను కలిగి ఉన్న కీ.





DECR కమాండ్ తగ్గింపు ఆపరేషన్ తర్వాత సంతకం చేసిన పూర్ణాంకాన్ని అందిస్తుంది. పేర్కొన్న కీ ఉనికిలో లేకుంటే, కమాండ్ విలువను 0కి సెట్ చేసి, ఆపై దానిని ఒకటిగా తగ్గించండి. అలాగే, విలువ నాన్-స్ట్రింగ్ అయినప్పుడు లేదా 64-బిట్ సంతకం చేసిన పూర్ణాంకం వలె సూచించబడనప్పుడు లోపం ఏర్పడుతుంది. ఈ ఆదేశం చాలా వేగంగా ఉండే స్థిరమైన సమయ సంక్లిష్టత(O(1))పై పనిచేస్తుంది.

ఆన్‌లైన్ గేమ్‌లో కేస్ - డిక్రిమెంట్ ప్లేయర్ హెల్త్ ఉపయోగించండి

ఒక ఆన్‌లైన్ గేమ్‌ని ఊహించుకుందాం, ఇక్కడ ఒక మెడి-ప్యాక్ బహిర్గతం అయినప్పుడు ప్రతి క్రీడాకారుడి ఆరోగ్యం ఒకదానితో ఒకటి పెరుగుతుంది. అదేవిధంగా, ఆటగాడు పడిపోయినా లేదా మరొక ఆటగాడు కొట్టినా ఆరోగ్యం ఒకరికి తగ్గుతుంది.



ఆటగాడి ఆరోగ్యాన్ని నిల్వ చేయడానికి అనువైన అభ్యర్థి రెడిస్ స్ట్రింగ్ రకం, ఇక్కడ మేము ఆరోగ్యాన్ని పూర్ణాంకంగా నిల్వ చేయవచ్చు. కీని క్రియేట్ చేద్దాం ఆరోగ్యం:ప్లేయర్ID:1 మరియు దాని విలువను 10కి సెట్ చేయండి. మనం SET కమాండ్‌ని ఈ క్రింది విధంగా ఉపయోగించవచ్చు:

సెట్ ఆరోగ్యం:ప్లేయర్ఐడి: 1 10



నిల్వ చేయబడిన విలువను ధృవీకరించడానికి మేము GET ఆదేశాన్ని ఉపయోగించవచ్చు ఆరోగ్యం:ప్లేయర్ID:1.

ఆరోగ్యాన్ని పొందండి:playerID: 1



ID 1 ఉన్న ప్లేయర్‌కు దెబ్బ తగిలిందని, ఆరోగ్యాన్ని ఒక్కొక్కటిగా తగ్గించుకోవాలని అనుకుందాం. DECR ఆదేశాన్ని ఈ క్రింది విధంగా ఉపయోగించవచ్చు:

decr health:playerID: 1


ఊహించినట్లుగా, DECR ఆదేశం క్రింది చిత్రంలో చూపిన విధంగా తగ్గింపు ఆపరేషన్ తర్వాత నవీకరించబడిన విలువను ముద్రిస్తుంది:


అలాగే, మేము కీ వద్ద నిల్వ చేయబడిన విలువను తనిఖీ చేయవచ్చు ఆరోగ్యం:ప్లేయర్ID: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 ఉనికిలో లేని-కీ


ఊహించిన విధంగా, అవుట్పుట్ -1.


మొత్తంమీద, తక్కువ లేటెన్సీ అప్లికేషన్‌లలో కౌంటర్‌లను అమలు చేయడానికి DECR కమాండ్ చాలా ఉపయోగకరంగా ఉంటుంది.

ముగింపు

సారాంశంలో, ఇచ్చిన Redis కీ వద్ద నిల్వ చేయబడిన సంఖ్యా విలువలపై పనిచేసే ఆదేశాలలో DECR ఒకటి. Redis ప్రత్యేక పూర్ణాంక డేటా రకానికి మద్దతు ఇవ్వదు. కాబట్టి, సంఖ్యా విలువలను కూడా ఉంచడానికి స్ట్రింగ్ రకం ఉపయోగించబడుతుంది. పరిశీలించినట్లుగా, స్ట్రింగ్ విలువను 64-బిట్ సంతకం చేసిన పూర్ణాంకం వలె సూచించగలిగితే, దాని విలువను తగ్గించడానికి DECR ఆదేశం ఉపయోగించబడుతుంది. ముఖ్యంగా, ఇది స్థిరమైన సమయ సంక్లిష్టతపై పనిచేస్తుంది. అలాగే, కౌంటర్లను అమలు చేయడానికి DECR కమాండ్ విస్తృతంగా ఉపయోగించబడుతుంది.