ரெடிஸ் ஸ்கார்ட்

Retis Skart



'ரெடிஸ் செட்கள் வரிசைப்படுத்தப்படாத சரங்களின் தொகுப்புகள், அவை நகல்களைக் கொண்டிருக்கவில்லை. இவை Java HashSets, Python Sets போன்றவற்றைப் போலவே இருக்கின்றன. மிக முக்கியமாக, ஒரு உறுப்பினரைச் சேர்ப்பது, அகற்றுவது மற்றும் இருப்பதைச் சரிபார்ப்பது போன்ற அடிப்படைச் செயல்பாடுகள், O(1) நேரச் சிக்கலில் செயல்படுவதால், மிகவும் திறமையானவை.

ஒரு தொகுப்பின் உறுப்பினர்கள்

குறிப்பிட்டுள்ளபடி, ரெடிஸ் செட்களில் தனித்துவமான சரம் உருப்படிகள் உள்ளன. ஏற்கனவே உள்ள உருப்படிகள் Redis செட்களால் ஏற்றுக்கொள்ளப்படாது மற்றும் புறக்கணிக்கப்படும். மேலும், ஒரு ஒற்றை தொகுப்பில் 4 பில்லியன் தனிப்பட்ட சரங்களை வைத்திருக்க முடியும்.









தனித்துவமான உறுப்பினர்களை வைத்திருக்கும் ரெடிஸ் செட்டின் இயல்பு பல நிஜ உலக பயன்பாட்டு நிகழ்வுகளில் கைக்கு வரும்.



  • யூனியன், குறுக்குவெட்டு மற்றும் வேறுபாடு போன்ற நிலையான செட் செயல்பாடுகளைச் செய்யும் திறன்.
  • ஒரு வலைத்தளத்திற்கு தனிப்பட்ட பார்வையாளர்களைக் கண்காணித்தல்
  • நிஜ உலக நிறுவன உறவுகளை பிரதிநிதித்துவப்படுத்துங்கள்

SCARD கட்டளை

SCARD கட்டளை, Set Cardinality என்பதன் சுருக்கம், கொடுக்கப்பட்ட விசையில் சேமிக்கப்பட்ட தொகுப்பில் உள்ள உறுப்பினர்களின் எண்ணிக்கையை வழங்குகிறது. இது O(1) நேர சிக்கலில் இயங்குகிறது, அதாவது SCARD கட்டளையை செயல்படுத்த எடுக்கும் நேரம் கொடுக்கப்பட்ட தொகுப்பில் உள்ள உறுப்பினர்களின் எண்ணிக்கையை சார்ந்து இருக்காது. இது எப்போதும் நிலையான நேரத்தை எடுக்கும்.





SCARD கட்டளையானது பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி மிகவும் எளிமையான தொடரியலைக் கொண்டுள்ளது.

SCARD set_key

set_key: ரெடிஸ் தொகுப்பின் திறவுகோல்



இந்த கட்டளையானது தொகுப்பில் உள்ள உறுப்பினர்களின் எண்ணிக்கையான முழு எண் மதிப்பை வழங்குகிறது.

வழக்கைப் பயன்படுத்தவும் - ஒரு வலைத்தளத்திற்கு தனிப்பட்ட பார்வையாளர்களை எண்ணுங்கள்

'YummyPizza' பீஸ்ஸா நிறுவனம் yummypizza.com என்ற இணையதளத்தை பராமரித்து வருகிறது, அங்கு மக்கள் பீட்சாவை ஆன்லைனில் ஆர்டர் செய்யலாம். அவர்களின் விற்பனை மற்றும் வாடிக்கையாளர் தளத்தை கண்காணிக்க, அவர்கள் ஒவ்வொரு மாதமும் இணையதளத்திற்கு வரும் அனைத்து தனிப்பட்ட பார்வையாளர்களையும் சேமிக்க Redis தரவுத்தளத்தை பராமரிக்கின்றனர்.

ஒரு பயனர் YummyPizza வலைத்தளத்தைப் பார்வையிடும் போதெல்லாம், பயனர் ஐடி Redis தரவுத்தளத்தில் சேர்க்கப்பட வேண்டும். மேலும், அதே பயனரை தரவுத்தளத்திலும் சேர்க்கக்கூடாது. எனவே, சிறந்த தரவு கட்டமைப்பானது Redis தொகுப்பு ஆகும், அங்கு தொகுப்புகள் தனிப்பட்ட உறுப்பினர்களை மட்டுமே சேமிக்கின்றன.

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

SADD YummyPizza பார்வையாளர்கள்: அக்டோபர் ஜான் மேரி ராசா ஸ்டோனிஸ் பிரின்ஸ்

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

நாளின் முடிவில், நிறுவனத்தின் நிர்வாகிகள் இணையதளத்திற்கு தனிப்பட்ட பார்வையாளர்களின் மொத்த எண்ணிக்கையை சரிபார்க்க வேண்டும். எனவே, செட் கார்டினாலிட்டி கணக்கிடப்பட வேண்டும். அதிர்ஷ்டவசமாக, முன்னர் விவாதிக்கப்பட்ட SCARD கட்டளை இந்த வகை சூழ்நிலையில் கைக்குள் வருகிறது.

விசையில் சேமிக்கப்பட்ட தொகுப்பில் SCARD கட்டளையை இயக்குவோம் ' YummyPizzaVisitors:அக்டோபர்.

ஸ்கார்ட் YummyPizzaVisitors:அக்டோபர்

வெளியீடு 5 ஆகும், அதாவது ஐந்து தனிப்பட்ட உறுப்பினர்கள் குறிப்பிட்ட தொகுப்பில் உள்ளனர். இந்த கட்டளை மிக வேகமாக இயங்கும். ஐந்து உறுப்பினர்கள் அல்லது 50000 உறுப்பினர்கள் என்பது முக்கியமல்ல; செயல்படுத்தும் நேரம் நிலையானதாக இருக்கும்.

குறிப்பிட்ட செட் கீ ரெடிஸ் தரவுத்தளத்தில் இல்லை என்று வைத்துக்கொள்வோம். பின், பின்வரும் எடுத்துக்காட்டில் காட்டப்பட்டுள்ளபடி, வெளியீடு 0 ஆக இருக்கும். இந்த வழக்கில், தரவுத்தளத்தில் இல்லாத ஒரு விசையை நாங்கள் குறிப்பிடப் போகிறோம்.

வடு NonExistingKey

முடிவுரை

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