రెడిస్ XTRIM

Redis Xtrim



రెడిస్ స్ట్రీమ్‌ల తక్కువ-స్థాయి వివరాలు

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

Redis స్ట్రీమ్‌లు డేటాను నమోదుల జాబితాగా నిల్వ చేస్తాయి, ఇక్కడ ప్రతి ఎంట్రీ కీ-విలువ జతలను కలిగి ఉంటుంది. కింది వాటిలో చూపిన విధంగా తక్కువ స్థాయిలో, ఈ ఎంట్రీలు మాక్రో-నోడ్‌లలోకి ప్యాక్ చేయబడతాయి.









ఈ కథనంలో, మేము XTRIM కమాండ్‌ని ఉపయోగించి స్ట్రీమ్ ఎంట్రీల తొలగింపుపై దృష్టి పెడుతున్నాము మరియు పైన పేర్కొన్న కాన్సెప్ట్ రిమూవల్ ఆపరేషన్ సామర్థ్యాన్ని దగ్గరగా ప్రభావితం చేస్తుంది. సాధారణంగా, Redis స్ట్రీమ్ ఎంట్రీ రిమూవల్ అనేది మాక్రో-నోడ్ లెవెల్‌లో అయితే ఎంట్రీ లెవల్‌లో కాకుండా చాలా ప్రభావవంతంగా ఉంటుంది. ఈ మెకానిజం XTRIM కమాండ్‌తో అమలు చేయబడుతుంది, మేము ఈ క్రింది విభాగంలో చర్చిస్తాము.



XTRIM కమాండ్

ఇచ్చిన థ్రెషోల్డ్ విలువ ఆధారంగా స్ట్రీమ్ యొక్క ఎంట్రీలను కత్తిరించడానికి XTRIM కమాండ్ ఉపయోగించబడుతుంది. థ్రెషోల్డ్ ఒక్కో స్ట్రీమ్‌కు గరిష్ట సంఖ్యలో నమోదులు లేదా పాత ఎంట్రీ ఐడి కావచ్చు. XTRIM కమాండ్ థ్రెషోల్డ్ రకాన్ని కమాండ్ ఆర్గ్యుమెంట్‌గా అంగీకరిస్తుంది. XTRIM కమాండ్ యొక్క వాక్యనిర్మాణం క్రింది విధంగా ఉంది.





XTRIM స్ట్రీమ్_కీ MAXLEN | MINID [ = | ~ ] థ్రెషోల్డ్_విలువ [ పరిమితి గణన ]

స్ట్రీమ్_కీ : రెడిస్ స్ట్రీమ్ యొక్క కీ.

MAXLEN : ఎంట్రీలను ట్రిమ్ చేసిన తర్వాత స్ట్రీమ్ గరిష్ట పొడవు. థ్రెషోల్డ్ విలువ ద్వారా పేర్కొనబడిన స్ట్రీమ్ పొడవును మించిన అన్ని ఎంట్రీలు తీసివేయబడతాయి. ఈ వాదన సానుకూల పూర్ణాంకం.

MINID : ఎంట్రీలను ట్రిమ్ చేసిన తర్వాత ఉండాల్సిన కనీస స్ట్రీమ్ ఐడి. పేర్కొన్న థ్రెషోల్డ్ కంటే తక్కువ IDలను కలిగి ఉన్న అన్ని ఎంట్రీలు తీసివేయబడతాయి. మీరు ఈ పరామితిని పేర్కొన్నప్పుడల్లా, థ్రెషోల్డ్ స్ట్రీమ్ ID అవుతుంది.

= ఆపరేటర్ : పేర్కొన్నప్పుడు, థ్రెషోల్డ్ విలువ ఆధారంగా ఖచ్చితమైన ట్రిమ్మింగ్ చేయబడుతుంది.

~ ఆపరేటర్ : పేర్కొన్నప్పుడు, థ్రెషోల్డ్ విలువ మరియు మాక్రో-నోడ్ పరిమాణం ఆధారంగా దాదాపు ఖచ్చితమైన ట్రిమ్మింగ్ చేయబడుతుంది.

థ్రెషోల్డ్_విలువ : ఆర్గ్యుమెంట్ MAXLEN లేదా MINID ఆధారంగా థ్రెషోల్డ్ విలువ.

పరిమితి గణన : తీసివేయవలసిన గరిష్ట సంఖ్యలో నమోదులు.

కేస్ 01 ఉపయోగించండి - గరిష్ట పొడవు ఆధారంగా స్ట్రీమ్ ఎంట్రీలను తీసివేయడం

పర్యాటక సమాచారాన్ని ట్రాక్ చేయడానికి ఒక టూరిజం కంపెనీ రెడిస్ స్టోర్‌ను నిర్వహిస్తుందని అనుకుందాం. రెడిస్ స్ట్రీమ్స్ డేటా స్ట్రక్చర్ ప్రతి టూరిస్ట్ సమాచారాన్ని కీ-వాల్యూ జతలుగా నిల్వ చేయడానికి ఉపయోగించబడింది. కాలక్రమేణా, ప్రసారం పెరిగింది మరియు వారు తాజా 1000 ఎంట్రీలను మాత్రమే ఉంచాలని ప్లాన్ చేస్తున్నారు. కాబట్టి స్ట్రీమ్ యొక్క గరిష్ట పొడవు ఎప్పుడైనా 1000 ఉండాలని వారు గుర్తించారు. దీన్ని సాధించడానికి XTRIM కమాండ్ ఉపయోగించబడింది.

ప్రదర్శన ప్రయోజనాల కోసం, ముందుగా, మేము ఈ క్రింది విధంగా 10 ఎంట్రీలతో స్ట్రీమ్‌ను సృష్టిస్తాము. చొప్పించడం నిర్వహించడానికి XADD కమాండ్ ఉపయోగించబడింది.

xadd పర్యాటక సమాచారం * జాక్ కంట్రీ ఇటలీ ఫ్యామిలీమెమ్స్ పేరు 5
xadd పర్యాటక సమాచారం * హ్యారీ కంట్రీ USA ఫ్యామిలీమెమ్స్ పేరు రెండు
xadd పర్యాటక సమాచారం * నికోమిటా కంట్రీ జపాన్ ఫ్యామిలీమెమ్స్ పేరు 3
xadd పర్యాటక సమాచారం * జకారియా కంట్రీ ఇండియా ఫ్యామిలీమెమ్స్ అని పేరు పెట్టండి రెండు
xadd పర్యాటక సమాచారం * రెడ్‌మండ్ కంట్రీ బ్రెజిల్ ఫ్యామిలీమెమ్స్ అని పేరు పెట్టండి 6
xadd పర్యాటక సమాచారం * పేరు కనుగొనబడిన దేశం జపాన్ కుటుంబ సభ్యులు 3
xadd పర్యాటక సమాచారం * పేరు మేరీజాన్ కంట్రీ USA ఫ్యామిలీమెమ్స్ రెండు
xadd పర్యాటక సమాచారం * లిజా కంట్రీ ఇటలీ ఫ్యామిలీమెమ్స్ పేరు 5
xadd పర్యాటక సమాచారం * నిమ్షికా కంట్రీ జపాన్ ఫ్యామిలీమెమ్స్ అని పేరు పెట్టండి 3
xadd పర్యాటక సమాచారం * నిషా కంట్రీ ఇటలీ ఫ్యామిలీమెమ్స్ అని పేరు 5

స్ట్రీమ్ టూరిస్ట్ ఇన్ఫోను ఈ క్రింది విధంగా తనిఖీ చేయడానికి XRANGE ఆదేశాన్ని ఉపయోగిస్తాము.

xrange పర్యాటక సమాచారం - +

అవుట్‌పుట్:

ఊహించిన విధంగా, ఈ ఆదేశం ద్వారా 10 స్ట్రీమ్ ఎంట్రీలు ప్రదర్శించబడ్డాయి.

ప్రదర్శన ప్రయోజనాల కోసం, మేము స్ట్రీమ్ గరిష్ట పొడవు 5 ఉన్న చోట ట్రిమ్ చేస్తాము.

xtrim టూరిస్ట్ ఇన్ఫో maxlen 5

XRANGE కమాండ్‌తో స్ట్రీమ్ ఎంట్రీలను మళ్లీ తనిఖీ చేద్దాం.

ఊహించినట్లుగానే, స్ట్రీమ్ నుండి ఐదు ఎంట్రీలు తొలగించబడ్డాయి మరియు దాని పొడవు 5.

కేస్ 02 ఉపయోగించండి – స్ట్రీమ్ IDల ఆధారంగా స్ట్రీమ్ ఎంట్రీలను తీసివేయడం

ఒక వాతావరణ సంస్థ Redis స్ట్రీమ్‌లను ఉపయోగించి ఇచ్చిన ప్రదేశం యొక్క వాతావరణ సమాచారాన్ని ట్రాక్ చేసే ఉదాహరణను తీసుకుందాం. ఇప్పుడు, వారు ఇకపై అవసరం లేని పాత ఎంట్రీలను తొలగించాలనుకుంటున్నారు. కింది వాటిలో చూపిన విధంగా మనం MINID వ్యూహాన్ని ఉపయోగించి XTRIM ఆదేశాన్ని ఉపయోగించవచ్చు.

ముందుగా, మేము weatherinfo అనే స్ట్రీమ్‌ని సృష్టిస్తాము మరియు దానికి ఈ క్రింది విధంగా 5 ఎంట్రీలను జోడిస్తాము.

xadd వాతావరణ సమాచారం * ఉష్ణోగ్రత 10 తేమ యాభై
xadd వాతావరణ సమాచారం * ఉష్ణోగ్రత ఇరవై తేమ 70
xadd వాతావరణ సమాచారం * ఉష్ణోగ్రత 12 తేమ 65
xadd వాతావరణ సమాచారం * ఉష్ణోగ్రత పదిహేను తేమ 88
xadd వాతావరణ సమాచారం * ఉష్ణోగ్రత 18 తేమ నాలుగు ఐదు

అవుట్‌పుట్:

పేర్కొన్న థ్రెషోల్డ్ విలువ కంటే తక్కువ IDలను కలిగి ఉన్న ఎంట్రీలను తీసివేయడానికి XTRIM ఆదేశాన్ని ఉపయోగిస్తాము.

xtrim వాతావరణ సమాచారం MINID 1660485503248 - 0

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

అవుట్‌పుట్:

మేము = లేదా ~ ఆర్గ్యుమెంట్‌లను స్పష్టంగా పేర్కొనలేదు కాబట్టి, కమాండ్ డిఫాల్ట్‌గా = ఆపరేటర్‌ని ఉపయోగిస్తుంది. అందువల్ల, రెండు వినియోగ సందర్భాలలో ఖచ్చితమైన ట్రిమ్మింగ్ జరిగింది. మీరు ~ ఆపరేటర్‌ని స్పష్టంగా పేర్కొన్నట్లయితే, కింది వాటిలో చూపిన విధంగా దాదాపు ఖచ్చితమైన ట్రిమ్మింగ్ చేయబడుతుంది.

పై చిత్రంలో చూపిన విధంగా, XTRIM కమాండ్ ~ ఆపరేటర్‌తో ఉపయోగించబడింది. మేము 100 నిడివిని మించిన అన్ని ఎంట్రీలను తీసివేయమని ఆదేశాన్ని అడుగుతాము. మేము XTRIM కమాండ్‌ను ఖచ్చితమైన ట్రిమ్మింగ్ చేయమని బలవంతం చేయము కాబట్టి, ఇది ట్రిమ్మింగ్ ఆపరేషన్ యొక్క సామర్థ్యంపై దృష్టి పెడుతుంది. కాబట్టి, అదే మాక్రో-నోడ్‌కు చెందిన తక్షణ ఎంట్రీలను ఇది తీసివేయదు. ఇది ఒకే మాక్రో-నోడ్‌లో ఉన్న తదుపరి మూడు ఎంట్రీలను ఉంచుతుంది మరియు వాటి తర్వాత అన్ని స్థూల-నోడ్‌లను తీసివేస్తుంది. ఇది ఖచ్చితమైన ట్రిమ్మింగ్ విధానం కంటే గణనీయమైన పనితీరు మెరుగుదలను ఇస్తుంది, ఇది కమాండ్‌ను అదనపు శ్రమలో ఉంచేలా చేస్తుంది. థ్రెషోల్డ్ ఎంట్రీ ఐడిల ఆధారంగా ఉన్నప్పుడు అదే విధానం జరుగుతుంది.

LIMIT ఆర్గ్యుమెంట్ పేర్కొన్న స్ట్రీమ్ నుండి తొలగించబడిన ఎంట్రీల సంఖ్యను పరిమితం చేస్తుంది, ఇది కొంచెం ఎక్కువ పనితీరును మెరుగుపరచడానికి ఉపయోగించబడుతుంది.

ముగింపు

సంక్షిప్తంగా, XTRIM కమాండ్ థ్రెషోల్డ్ విలువ ఆధారంగా స్ట్రీమ్ ఎంట్రీలను తీసివేయడానికి ఉపయోగించబడుతుంది. MAXLEN మరియు MINID కమాండ్ ఆర్గ్యుమెంట్‌లను ఉపయోగించి పేర్కొనబడే సందర్భంతో థ్రెషోల్డ్ విలువ రకాన్ని మార్చవచ్చు. చర్చించినట్లుగా, కత్తిరింపును రెండు విధాలుగా చేయవచ్చు, ఇక్కడ ట్రిమ్మింగ్ ఆపరేషన్ థ్రెషోల్డ్‌ను ఖచ్చితమైన లేదా ఉజ్జాయింపు పరిమితిగా పరిగణిస్తుంది. డిఫాల్ట్‌గా, కమాండ్ ఖచ్చితమైన ట్రిమ్మింగ్ కోసం ఉపయోగించే = ఆపరేటర్‌ని ఉపయోగిస్తుంది. ~ ఆపరేటర్‌తో, పై విభాగంలో పేర్కొన్న విధంగా మీరు సుమారుగా ట్రిమ్మింగ్ చేయవచ్చు. మొత్తంమీద, సుమారుగా కత్తిరించే విధానం మరియు LIMIT వాదన XTRIM కమాండ్‌తో గణనీయమైన పనితీరును పొందడంలో మీకు సహాయపడతాయి.