Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

रेडिस सॉर्टेडसेट:दो मानों के समान स्कोर होने पर वर्णानुक्रम के बजाय संख्यात्मक क्रम में मान कैसे प्राप्त करें?

जब एक सॉर्ट किए गए सेट के सदस्यों का स्कोर समान होता है, तो उन्हें लेक्सिकोग्राफ़िक रूप से सॉर्ट किया जाता है। उन्हें अलग-अलग AFAIK ऑर्डर करने का कोई सीधा तरीका नहीं है, लेकिन आप क्लाइंट की तरफ से आसानी से सॉर्टिंग कर सकते हैं। वैकल्पिक रूप से, आप एक छोटी Lua स्क्रिप्ट बना सकते हैं जो सर्वर पर आपके लिए ऐसा करती है।

थोड़ा हैकिश तरीका है कि आप ऊपर दिए गए तरीकों का सहारा लिए बिना जो चाहते हैं उससे दूर हो सकते हैं। आपके द्वारा प्रदान किए गए उदाहरण के आधार पर और यह मानते हुए कि रैंक और उपयोगकर्ता आईडी दोनों पूर्णांक हैं, आप स्कोर का उपयोग कर सकते हैं जो दोनों का संयोजन है, जैसे:

zadd game_rank 550006435 6435
zadd game_rank 556088561 6088561
zadd game_rank 550608825 608825

यह आपको और . श्रेणी करने देगा आपको प्रत्येक रैंक के लिए "संख्यात्मक" छँटाई मिलेगी (अर्थात zrangebyscore game_rank 550000000 559999999 के साथ) )।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस स्कैन स्किपिंग कुंजियाँ

  2. स्कैला से उपयोग के लिए रेडिस क्लाइंट लाइब्रेरी की सिफारिशें

  3. रेडिस में HSET चाइल्ड कुंजी को कैसे समाप्त करें?

  4. रेडिस स्कैन मिलान

  5. दो या दो से अधिक क्रमबद्ध सेटों का प्रतिच्छेदन