redis
सॉर्ट किए गए सेट
खोज…
परिचय
Redis में सॉर्ट किया गया सेट डेटाटाइप सेट डेटाटाइप का एक आदेशित संस्करण है। Redis सॉर्ट किए गए सेट में अनन्य सदस्यों का संग्रह होता है। सॉर्ट किए गए सेट में प्रत्येक सदस्य को एक जोड़ी के रूप में सोचा जा सकता है जिसमें सदस्य और एक अंक शामिल हैं। स्कोर का उपयोग सेट के भीतर सदस्यों को आरोही क्रम में करने के लिए किया जाता है।
वाक्य - विन्यास
- ZADD कुंजी [NX | XX] [CH] [INCR] स्कोर सदस्य [स्कोर सदस्य ...]
- ZCARD कुंजी
- ZCOUNT कुंजी न्यूनतम अधिकतम
- ZLEXCOUNT कुंजी न्यूनतम अधिकतम
टिप्पणियों
क्रमबद्ध सेट के लिए आधिकारिक प्रलेखन Redis.io साइट पर पाया जा सकता है।
सॉर्ट किए गए सेट को कभी-कभी zsets के रूप में संदर्भित किया जाता है। यदि आप सॉर्ट की गई सेट कुंजी पर TYPE कमांड का उपयोग करते हैं, तो मान zset वापस आ जाएगा।
सॉर्ट किए गए सेट में आइटम जोड़ना
Redis एक सॉर्ट किए गए सेट में आइटम जोड़ने के लिए ZADD कमांड प्रदान करता है। ZADD कमांड का मूल रूप सेट, आइटम जोड़ने के लिए निर्दिष्ट करना है और यह स्कोर है। उदाहरण के लिए, यदि मैं अपने पसंदीदा भोजन के एक निर्धारित सेट (कम से कम सबसे अधिक) का निर्माण करना चाहता था, तो मैं इनमें से किसी एक का उपयोग कर सकता था:
zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer
या वैकल्पिक रूप से:
zadd favs 1 apple 2 pizza 3 chocolate 4 beer
ZADD फ़ंक्शन अनसूटर्ड सेट फ़ंक्शन SADD के समान ही कार्य करता है। ZADD कमांड का परिणाम उन मदों की संख्या है जो जोड़े गए थे। तो ऊपर के रूप में मेरे सेट बनाने के बाद, अगर मैंने फिर से ZADD बीयर का प्रयास किया:
ZADD favs 4 beer
मुझे एक 0 परिणाम मिलेगा, अगर मैंने फैसला किया कि मुझे बीयर से बेहतर चॉकलेट पसंद है, तो मैं निष्पादित कर सकता हूं:
ZADD favs 3 beer 4 chocolate
अपनी वरीयताओं को अपडेट करने के लिए, लेकिन मुझे अभी भी 0 रिटर्न परिणाम मिलेगा क्योंकि बीयर और चॉकलेट दोनों पहले से ही सेट में हैं।
सॉर्ट किए गए सेट में आइटम की गिनती
Redis एक सॉर्ट किए गए सेट के भीतर आइटमों की गणना करने के लिए तीन कमांड प्रदान करता है: ZCARD, ZCOUNT, ZLEXCOUNT।
ZCARD कमांड एक सेट की कार्डिनैलिटी के लिए मूल परीक्षण है। (यह सेट के लिए SCARD कमांड के अनुरूप है।) ZCARD एक सेट के सदस्यों की गिनती लौटाता है। सेट में आइटम जोड़ने के लिए निम्न कोड निष्पादित करना:
zadd favs 1 apple
zadd favs 2 pizza
zadd favs 3 chocolate
zadd favs 4 beer
चल ZCard:
zcard favs
4 का मान लौटाता है।
ZCOUNT और ZLEXCOUNT कमांड आपको कई प्रकार के मानों के आधार पर सॉर्ट किए गए सेट में एक सबसेट की गिनती करने की अनुमति देते हैं। ZCOUNT आपको किसी विशेष श्रेणी के स्कोर के भीतर आइटम की गणना करने की अनुमति देता है और ZLEXCOUNT आपको किसी विशेष लेओोग्राफ़िक सीमा के भीतर आइटम की संख्या की गणना करने की अनुमति देता है।
ऊपर हमारे सेट का उपयोग करना:
zcount favs 2 5
एक 3 लौटाएगा, क्योंकि तीन आइटम (पिज्जा, चॉकलेट, बीयर) हैं, जिनमें स्कोर 2 और 5 के बीच है।
ZLEXCOUNT को सेट के साथ काम करने के लिए डिज़ाइन किया गया है जहां हर आइटम का एक ही स्कोर होता है, जो इलेमेंट नामों पर मजबूर और आदेश देता है। यदि हमने एक सेट बनाया है जैसे:
zadd favs 1 apple
zadd favs 1 pizza
zadd favs 1 chocolate
zadd favs 1 beer
हम ZLEXCOUNT का उपयोग विशेष रूप से लेक्सोग्राफिक श्रेणी में तत्वों की संख्या प्राप्त करने के लिए कर सकते हैं (यह मेम्पी फ़ंक्शन का उपयोग करके बाइट-वार तुलना द्वारा किया जाता है)।
zlexcount favs [apple (chocolate
2 वापस आएंगे, क्योंकि दो तत्व (सेब, बीयर) रेंज ऐप्पल (समावेशी) और चॉकलेट (अनन्य) के भीतर आते हैं। हम वैकल्पिक रूप से दोनों सिरों को सम्मिलित कर सकते हैं:
zlexcount favs [apple [chocolate
और परिणाम 3 प्राप्त करें।