2015-05-09 7 views
5

मैं redis ordered set बनाने की कोशिश कर रहा हूं। पकड़ दो आदेशों, टाइमस्टैम्प और स्कोर के आधार पर करने की आवश्यकता है।एक से अधिक मानदंडों के आधार पर रेडिस में ऑर्डर्ड सेट

ZADD {key} {timestamp} {value} 

कैसे इस आदेश में स्कोर को जोड़ने के लिए और साथ ही plz: लेकिन redis में, मैं केवल एक soring मापदंड प्रदान कर सकते हैं?

अद्यतन: यहाँ दृष्टिकोण मैं एक ही नाव स्कोर मूल्य में दो अलग-अलग आदेश फैक्टरिंग विलय करने के लिए ले लिया है है:

var score = Math.floor(result.created_time/(60*60*24*1000)); 
score = score + (result.matches/10); 

बस समझाने के लिए, मैं पहले टाइमस्टैम्प की संख्या में बदल जाती है दिन। और मेरे 'मैचों' मान आमतौर पर 0-10 हो। इस प्रकार, दशमलव मान में परिवर्तित किया गया और अंश वजन के रूप में जोड़ा गया। जो मुझे प्रति दिन क्रमबद्ध उच्चतम स्कोर प्रविष्टियां दे रहा है। जो वास्तव में मुझे चाहिए वही है।

उत्तर

4

अपने सॉर्ट किए गए सेट में स्कोर के रूप में दशमलव का उपयोग करें - दशमलव बिंदु के बाईं ओर मान और दाईं ओर मान के आधार पर टाइमस्टैम्प के साथ स्कोर का निर्माण करें।

+0

सुराग के लिए धन्यवाद। इस तरह ने मुझे मेरे लिए एक सामान्य स्कोर बनाने में मदद की। मैं अपने प्रश्न को मेरे द्वारा उठाए गए दृष्टिकोण के साथ अद्यतन कर रहा हूं। – Rana

+0

बहुत अच्छा :) बीटीडब्ल्यू, यह चाल निश्चित रूप से रेडिस आईएमओ में सबसे सरल, सबसे प्रभावी और अक्सर उपेक्षित लोगों में से एक है –

संबंधित मुद्दे

 संबंधित मुद्दे