రెడిస్ GETEX

Redis Getex



రెడిస్ అనేది ఇన్-మెమరీ కాష్, డేటాబేస్, టైమ్ సిరీస్, స్ట్రీమ్ ఇంజిన్, మెసేజ్ బ్రోకర్ మొదలైన వాటిలో ఉపయోగించే కీలక-విలువ డేటా స్టోర్. డేటాను ఉంచడానికి Redis డేటా స్టోర్ సాధారణ కీ-విలువ జత ఆకృతిని ఉపయోగిస్తుంది కాబట్టి, ఇది చాలా మెమరీ సమర్థవంతమైన. అదనంగా, O(1) మరియు O(log(N)) వంటి తక్కువ సమయ సంక్లిష్టతలతో ప్రశ్నించే వేగం చాలా ఎక్కువగా ఉంటుంది. Redis కీలు స్ట్రింగ్‌లు, సెట్‌లు, హ్యాష్‌లు, క్రమబద్ధీకరించబడిన సెట్‌లు మరియు జాబితాల వంటి విభిన్న డేటా నిర్మాణాలను కలిగి ఉంటాయి.

సాధారణంగా, ఇచ్చిన Redis కీ వద్ద నిల్వ చేయబడిన స్ట్రింగ్-రకం విలువలను నిల్వ చేయడానికి మరియు తిరిగి పొందడానికి GET మరియు SET ఆదేశాలు ఉపయోగించబడతాయి. ఈ రెండు ఆదేశాలు స్థిరమైన సమయ సంక్లిష్టతతో పనిచేస్తాయి.







అదనంగా, ఇచ్చిన కీ వద్ద నిల్వ చేయబడిన స్ట్రింగ్ విలువలను చదవడానికి GETEX కమాండ్ అందుబాటులో ఉంది. కానీ ఈ ఆదేశం సమాంతర వ్రాత ఆపరేషన్‌తో అనుబంధించబడింది. ఈ గైడ్ GETEX కమాండ్ సింటాక్స్, దాని ఎంపికలు మరియు వినియోగ కేసులపై దృష్టి పెడుతుంది.



రెడిస్ కీ యొక్క TTL

జీవించడానికి సమయం (TTL) విలువ అనేది ఇచ్చిన డేటా ముక్క యొక్క గడువు సమయం. సాధారణంగా, TTLని డేటాబేస్ అడ్డు వరుసలతో అనుబంధించవచ్చు. Redis కీలతో కూడా గడువు ముగిసింది. కాబట్టి, ఒక Redis క్లయింట్ డేటా స్టోర్‌లో ఇచ్చిన కీ అందుబాటులో ఉంటుందని మిగిలిన సెకన్లను తనిఖీ చేయవచ్చు. ఇచ్చిన కీ యొక్క ప్రత్యక్ష విలువకు సమయాన్ని తనిఖీ చేయడానికి Redis TTL ఆదేశాన్ని అందిస్తుంది. నిర్దేశిత కీతో గడువు ముగియకపోతే, TTL కమాండ్ -1ని అందిస్తుంది. ఇచ్చిన కీ యొక్క మిగిలిన సమయాన్ని తనిఖీ చేయడానికి మేము తదుపరి విభాగాలలో TTL ఆదేశాన్ని ఉపయోగిస్తాము.



GETEX కమాండ్

హైలైట్ చేసినట్లుగా, GETEX కమాండ్ GET కమాండ్‌తో సమానంగా ఉంటుంది, ఇది పేర్కొన్న కీకి గడువు ముగింపు సమయాన్ని సెట్ చేయడానికి ఉపయోగించబడుతుంది. ఇంకా, ఒక కమాండ్ ఎంపిక ఇచ్చిన కీ నుండి గడువు ముగిసిన విలువను తీసివేయగలదు. GETEX కమాండ్ సింటాక్స్ క్రింది విధంగా ఉంది:





GETEX కీ [ EX సమయం ముగిసింది_సెకన్లలో | PX సమయం ముగిసింది_ఇన్_మిల్లీసెకన్లు | EXAT సమయం ముగిసింది_ఇన్_యునిక్స్-టైమ్-సెకన్లలో | PXAT సమయం ముగిసింది_in_unix-time-milliseconds | పట్టుదల ]

కీ: ఇది స్ట్రింగ్ విలువను సూచించే కీ.

సెకన్లు లేదా మిల్లీసెకన్లలో గడువును సెట్ చేయడానికి క్రింది ఐచ్ఛిక ఆర్గ్యుమెంట్‌లను ఉపయోగించవచ్చు.



ఉదా: ఇది ఇచ్చిన కీ కోసం గడువు సమయాన్ని సెకన్లలో సెట్ చేస్తుంది.

PX: కీ గడువు ముగింపు విలువ మిల్లీసెకన్లలో సెట్ చేయబడుతుంది.

అదనంగా, మేము క్రింది కమాండ్ ఎంపికలను ఉపయోగించి సెకన్లు లేదా మిల్లీసెకన్లలో UNIX టైమ్‌స్టాంప్ విలువను పేర్కొనవచ్చు EXAT మరియు PXAT :

EXAT: గడువు ముగింపు సమయం UNIX టైమ్‌స్టాంప్ ఫార్మాట్‌లో సెట్ చేయబడుతుంది మరియు టైమ్‌స్టాంప్ సెకన్లలో ఉంటుంది.

PXAT: ఇచ్చిన Redis కీ యొక్క గడువు మిల్లీసెకన్లలో UNIX టైమ్‌స్టాంప్‌గా సెట్ చేయబడుతుంది.

పట్టుదల: దీన్ని పేర్కొనడం ద్వారా, మీరు పేర్కొన్న కీతో అనుబంధించబడిన లైవ్ విలువకు సమయాన్ని తీసివేయవచ్చు.

GETEX ఆదేశం పేర్కొన్న కీ విలువను అందిస్తుంది. ఈ కమాండ్ స్ట్రింగ్-రకం విలువలతో మాత్రమే పని చేస్తుంది, కానీ హ్యాష్‌లు, జాబితాలు, క్రమబద్ధీకరించబడిన సెట్‌లు మొదలైనవాటితో కాదు. మీరు స్ట్రింగ్-యేతర విలువతో అనుబంధించబడిన కీని పేర్కొంటే, ఆదేశం లోపాన్ని అందిస్తుంది. అదనంగా, కీ ఇప్పటికే గడువు ముగిసినట్లయితే లేదా ఉనికిలో లేనట్లయితే, ఆదేశం తిరిగి వస్తుంది శూన్యం.

కింది విభాగంలో, మేము GETEX కమాండ్ యొక్క ఆచరణాత్మక వినియోగాన్ని కవర్ చేస్తాము.

కేస్ ఉపయోగించండి — పాస్‌వర్డ్ రికవరీ/OTPల కోసం తాత్కాలిక రీసెట్ లింక్ లేదా PIN కోడ్ జనరేషన్

ఒక వెబ్ హోస్టింగ్ కంపెనీ నమోదిత వినియోగదారుల కోసం పాస్‌వర్డ్ రికవరీ ఫీచర్‌ను అందిస్తోంది. భద్రతా చర్యగా, వారు వినియోగదారుకు కొత్త URL లింక్‌ని పంపుతారు, దాని గడువు 5 నిమిషాల్లో ముగుస్తుంది. కంపెనీ చాలా కాలంగా Redis డేటా స్టోర్‌ని ఉపయోగిస్తోంది మరియు ఇచ్చిన వినియోగదారు కోసం లైవ్ విలువకు సమయాన్ని సెట్ చేయడానికి GETEX ఆదేశాన్ని ఉపయోగిస్తుంది.

user_id 1000 ఉన్న వినియోగదారు పాస్‌వర్డ్ రికవరీని అభ్యర్థించారని అనుకుందాం. కాబట్టి, రికవరీ URL కీ వద్ద నిల్వ చేయబడుతుంది రికవరీURL:UserID:1000 . రికవరీ URLని ఈ క్రింది విధంగా నిల్వ చేయడానికి మేము SET ఆదేశాన్ని ఉపయోగించవచ్చు:

సెట్ RecoveryURL:UserID: 1000 'https://abc.com/recovery/userid=1000,key=sdfiuoe3290e9rjs'

స్ట్రింగ్ URL కీ వద్ద సరిగ్గా నిల్వ చేయబడిందో లేదో తనిఖీ చేద్దాం రికవరీURL:UserID:1000. మేము GETEX ఆదేశాన్ని ఈ క్రింది విధంగా ఉపయోగించవచ్చు:

getex RecoveryURL:UserID: 1000

మునుపటి ఆదేశం యొక్క అవుట్‌పుట్ కింది వాటిలో చూపబడింది:

మనం GETEX కమాండ్‌కు బదులుగా GET కమాండ్‌ని ఉపయోగించినట్లయితే, అవుట్‌పుట్ ఒకే విధంగా ఉంటుంది.

ఈ కీతో గడువు సమయం అనుబంధించబడిందో లేదో తనిఖీ చేయడానికి TTL ఆదేశాన్ని ఉపయోగిస్తాము.

Ttl RecoveryURL:UserID: 1000

ఊహించినట్లుగా, TTL కమాండ్ ద్వారా -1 తిరిగి ఇవ్వబడింది, అంటే పేర్కొన్న కీతో గడువు ముగింపు సమయం ఏదీ అనుబంధించబడదు.

ఈ ఉదాహరణ ప్రకారం, హోస్టింగ్ కంపెనీ రికవరీ URL కోసం 5 నిమిషాల గడువును సెట్ చేయాలి. కాబట్టి, మేము ఉపయోగిస్తాము EX కమాండ్ ఎంపిక. 5 నిమిషాలు 300 సెకన్లు కాబట్టి, మనం GETEX ఆదేశాన్ని ఈ క్రింది విధంగా నిర్మించవచ్చు:

getex RecoveryURL:UserID: 1000 EX 500

డేటా స్టోర్‌లో కీ ఉనికిలో ఉన్న మిగిలిన సమయాన్ని పరిశీలించడానికి TTL ఆదేశాన్ని కొన్ని సార్లు అమలు చేద్దాం.

ఊహించిన విధంగా, సమయం తగ్గుతోంది, మరియు చివరికి, ది రికవరీURL:UserID:1000 కీ తీసివేయబడుతుంది. 5 నిమిషాల తర్వాత క్రింది అవుట్‌పుట్:

-2 కమాండ్ ద్వారా తిరిగి ఇవ్వబడింది, అంటే కీ గడువు ముగిసింది మరియు డేటా స్టోర్ నుండి తొలగించబడింది.

కొన్నిసార్లు, మీరు ఇచ్చిన కీతో అనుబంధించబడిన గడువు ముగింపు విలువను తీసివేయవలసి రావచ్చు. కాబట్టి, పేర్కొన్న కీకి సంబంధించిన TTL విలువను తొలగించడానికి PERSIST కమాండ్ ఎంపికను ఉపయోగించవచ్చు.

మరొక నమూనా కీని సృష్టించి, దానికి స్ట్రింగ్ విలువను కేటాయించండి. ఈ సందర్భంలో, మేము TTL విలువను పాస్ చేయడం ద్వారా మిల్లీసెకన్లలో నిర్దేశిస్తాము PX ఎంపిక.

సెట్ కీటోటెస్ట్ పెర్సిస్ట్ 'దీని గడువు 60 సెకన్లలోపు ముగుస్తుంది' PX 50000

తరువాత, మేము మిగిలిన సమయాన్ని ఈ క్రింది విధంగా తనిఖీ చేస్తాము:

ఊహించిన విధంగా, TTL తగ్గుతోంది. PERSIST ఎంపికతో GETEX ఆదేశాన్ని ఈ క్రింది విధంగా కాల్ చేద్దాం:

getex KeytoTestPersist పెర్సిస్ట్

ఆదర్శవంతంగా, ఇది ఈ కీతో అనుబంధించబడిన TTLని తీసివేస్తుంది. కీ కోసం TTLని తనిఖీ చేద్దాం కీటోటెస్ట్ పెర్సిస్ట్.

TTL కమాండ్ -1ని తిరిగి ఇచ్చింది, అంటే కీతో TTL అనుబంధించబడలేదు కీటోటెస్ట్ పెర్సిస్ట్.

అదేవిధంగా, ది GETEX UNIX టైమ్‌స్టాంప్‌లో కీల కోసం గడువు సమయాన్ని సెట్ చేయడానికి కమాండ్ ఉపయోగించవచ్చు.

ముగింపు

సారాంశంలో, ఇచ్చిన కీ వద్ద నిల్వ చేయబడిన స్ట్రింగ్ విలువలను GET కమాండ్ వలె తిరిగి పొందడానికి Redis GETEX ఆదేశం ఉపయోగించబడుతుంది. GETEX కమాండ్‌తో ఉన్న ఏకైక తేడా ఏమిటంటే ఇది ఇచ్చిన కీ కోసం గడువు సమయాలను సెట్ చేయడానికి మరియు తీసివేయడానికి మద్దతు ఇస్తుంది. సెకనులు, మిల్లీసెకన్లు మరియు UNIX-టైమ్‌స్టాంప్ సెకన్లు లేదా మిల్లీసెకన్లలో గడువు సమయాన్ని పేర్కొనడానికి ఇది అనేక ఐచ్ఛిక ఆర్గ్యుమెంట్‌లకు మద్దతు ఇస్తుంది. చర్చించినట్లుగా, ఇచ్చిన కీ కోసం అనుబంధించబడిన TTLని తీసివేయడానికి ఆదేశం PERSIST ఎంపికను అందిస్తుంది. మొత్తంమీద, GETEX కమాండ్ స్థిరమైన సమయ సంక్లిష్టతతో పనిచేస్తుంది.