जब कोई ग्राहक (उपभोक्ता) मर जाता है, तो ग्राहक आपकी सूची तक बढ़ने तक जारी रहेगा। एक बार जब यह एक विशिष्ट सीमा तक पहुंच जाता है तो आपका निर्माता सूची (किसी भी तरफ से) को ट्रिम कर सकता है, लेकिन ऐसा कुछ है जिसे आपको एप्लिकेशन स्तर पर संभालना होगा। यदि आप प्रत्येक संदेश के भीतर एक टाइमस्टैम्प शामिल करते हैं, तो आपका उपभोक्ता एक संदेश की उम्र पर कार्य कर सकता है, मानते हुए कि आपके पास एप्लिकेशन तर्क है जिसे आप संदेश आयु पर लागू करना चाहते हैं।
मुझे यकीन नहीं है कि एक विकृत संदेश सिस्टम में कैसे प्रवेश करेगा, क्योंकि रेडिस के कनेक्शन आमतौर पर इसकी ईमानदारी आश्वासन के साथ टीसीपी है। लेकिन अगर ऐसा होता है, तो शायद निर्माता परत पर संदेश एन्कोडिंग में एक बग के कारण, आप उपभोक्ता के अपवाद संदेशों को प्राप्त करने वाले कतार-प्रति-निर्माता को रखकर त्रुटियों को संभालने के लिए एक सामान्य तंत्र प्रदान कर सकते हैं।
पुनः प्रयास नीतियां आपकी आवेदन आवश्यकताओं पर निर्भर करती हैं। अगर आपको 100% आश्वासन की आवश्यकता है कि एक संदेश प्राप्त हुआ है और संसाधित किया गया है, तो आपको उपभोक्ता द्वारा किए गए काम को लपेटने के लिए रेडिस लेनदेन (बहु/EXEC) का उपयोग करने पर विचार करना चाहिए, ताकि आप यह सुनिश्चित कर सकें कि कोई ग्राहक तब तक कोई संदेश नहीं हटाता यह अपना काम पूरा कर लिया है। अगर आपको स्पष्ट स्वीकृति की आवश्यकता है, तो आप निर्माता प्रक्रिया (एसएस) को समर्पित कतार पर एक स्पष्ट एसीके संदेश का उपयोग कर सकते हैं।
अपनी आवेदन आवश्यकताओं के बारे में और जानने के बिना, समझना मुश्किल है कि बुद्धिमानी कैसे चुनें। आम तौर पर, यदि आपके संदेशों को पूर्ण एसीआईडी सुरक्षा की आवश्यकता है, तो आपको शायद रेडिस लेनदेन का उपयोग करने की भी आवश्यकता है। यदि आपके संदेश समय पर होने पर केवल सार्थक हैं, तो लेन-देन की आवश्यकता नहीं हो सकती है। ऐसा लगता है कि आप गिराए गए संदेशों को बर्दाश्त नहीं कर सकते हैं, इसलिए सूची का उपयोग करने का आपका दृष्टिकोण अच्छा है। यदि आपको अपने संदेशों के लिए प्राथमिकता कतार लागू करने की आवश्यकता है, तो आप एक मतदान उपभोक्ता के साथ स्कोर मूल्य के रूप में अपनी प्राथमिकता का उपयोग करके अपने संदेशों को संग्रहीत करने के लिए सॉर्ट किए गए सेट (जेड-कमांड) का उपयोग कर सकते हैं।
स्रोत
2011-06-01 11:10:13
मुझे भी एक ही समस्या है ... मैं ग्राहकों को स्थान अपडेट भेजना चाहता हूं .... और एक बार डिस्कनेक्ट होने के बाद, मुझे पता नहीं कि क्लाइंट और सर्वर के बीच डेटा को सिंक्रनाइज़ करने के लिए ... क्या आपने समस्या हल की ? यदि हाँ, कैसे ?? –
आप http://redis.io/commands/rpoplpush पर विश्वसनीय कतार के लिए रेडिस पैटर्न देख सकते हैं – hgf