php - How combine the sorted sets Redis? -


मैं Redis store में sorted set प्रकार का उपयोग करता हूं। कुंजी:

  फीड का उदाहरण:  

उपयोगकर्ता: ** 1 **, फीड: USER: ** 2 **, फीड: USER: ** 3 **

मैं उपयोगकर्ता की चाबियों के लिए रेडिस से डेटा का चयन करना चाहता हूं: 1 , 2, 3 और स्कोर (टाइमस्टैम्प) से प्रत्येक को हल किया जाता है।

अगर समस्या को देखते हुए, मुझे समय के दौरान किसी भी कुंजी को किसी डेटा से चुनने की आवश्यकता होती है और स्कोर के आधार पर सभी परिणामों को जोड़ते हैं।

< / div>

ऐसा करने के कुछ तरीके हैं लेकिन सही है कि आप क्या करने का प्रयास कर रहे हैं पर निर्भर करता है। उदाहरण के लिए:

  1. आप अपने कोड में प्रत्येक फ़ीड: USER: n कुंजी के लिए ZRANGEBYSCORE (या ZREVRANGEBYSCORE) का उपयोग कर सकते हैं और क्लाइंट में जवाब "मर्ज" करें
  2. आप संबंधित कुंजी पर एक ZUNIONSTORE कर सकते हैं और फिर क्लाइंट से परिणाम पर ZRANGEBYSCORE करते हैं।
  3. हालांकि, यदि आपकी "फीड्स" बड़ी हैं, तो # 2 का प्रवाह उलट होना चाहिए - संपादित करें: और स्पष्टीकरण मजबूत>

    पुनः 1 - आप ZRANGEBYSCORE से मिलने वाले परिणामों पर मर्जिंग क्लाइंट-साइड किया जा सकता है या आप ऐसा करने के लिए सर्वर-साइड लुआ स्क्रिप्ट का उपयोग कर सकते हैं। टाइमस्टैम्प प्राप्त करने के लिए का उपयोग करें और उस पर मर्ज / सॉर्ट करें। इस कोड को चलाए जाने के लिए स्थान की अपनी पसंद के बावजूद (मैं संभवत: डेटा इलाके के लिए लुआ का उपयोग करूँगा), कार्यान्वयन आपके ऊपर है - एलएमके अगर आपको इसके लिए सहायता की आवश्यकता है:)

Comments

Popular posts from this blog

mysql - where clause in inner join query -

php - MySQL Query for Advanced Search multiple criteria -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -