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

एक रेडिस सॉर्ट किए गए सेट के माध्यम से रिवर्स पेजिनेशन

किसी तत्व के लिए रैंक प्राप्त करना और फिर अनुक्रमणिका द्वारा काम करना तुच्छ है। यह मानते हुए कि आपके आवेदन के लिए उपलब्ध एकमात्र इनपुट 72 और 46 की प्रारंभिक स्कोर सीमा है, आप ऐसा कर सकते हैं:

redis 127.0.0.1:6379> ZREVRANGEBYSCORE mySortedSet 72 (46
1) "G"
2) "F"
3) "E"
redis 127.0.0.1:6379> ZREVRANK mySortedSet G
(integer) 4
redis 127.0.0.1:6379> ZREVRANGE mySortedSet 1 3
1) "J"
2) "I"
3) "H"
redis 127.0.0.1:6379> 

केवल अतिरिक्त कॉल O(log(N)) ZREVRANK . है बुलाना। वहां से, आपकी रुचि की श्रेणी और ZREVRANGE के लिए नई अनुक्रमणिका प्राप्त करने के लिए क्लाइंट साइड गणित का थोड़ा सा हिस्सा है अपने इच्छित मान प्राप्त करने के लिए।

मैंने Redis 2.6rc5 पर इसका परीक्षण किया, लेकिन इसे 2.0 से अधिक के किसी भी संस्करण पर काम करना चाहिए।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं रेडिस में संग्रहीत मूल्यों को कैसे ब्राउज़/देख सकता/सकती हूं?

  2. फूल शुरू करते समय, मुझे निम्नलिखित मिलते हैं:dbm.error:db प्रकार dbm.gnu है, लेकिन मॉड्यूल उपलब्ध नहीं है

  3. अजवाइन + रेडिस का उपयोग करते समय भारी देरी

  4. एक mysql डेटाबेस के लिए कैश के रूप में रेडिस का उपयोग करना

  5. एक ही हैश कुंजी पर पढ़ने/डेल करने वाले कई समवर्ती कार्यक्रमों के साथ रेडिस व्यवहार