के लिए टीटीएल क्या रेडिस में एक विशिष्ट कुंजी के लिए टीटीएल (रहने का समय) सेट करना संभव है, लेकिन एक सेट के लिए सदस्य के लिए?एक सेट सदस्य
मैं रेडिस दस्तावेज द्वारा प्रस्तावित टैग के लिए एक संरचना का उपयोग कर रहा हूं - डेटा सरल कुंजी-मूल्य जोड़े हैं, और टैग प्रत्येक टैग के अनुरूप कुंजी युक्त सेट हैं, उदाहरण के लिए
> SETEX id:id_1 100 'Lorem ipsum'
OK
> SADD tag:tag_1 id:id_1
(integer) 1
कुंजी id:id_1
अपेक्षा के अनुरूप समाप्त हो जाएगा, लेकिन मैं tag:tag_1
सेट से संवादी सदस्य को हटाने के लिए एक कारगर तरीका नहीं दिख रहा।
एक तरह से मैं आया था एक क्रॉन नौकरी का उपयोग एक स्क्रिप्ट युक्त है जो समय-समय पर सेट से कालबाह्य कुंजी को हटा देगा - सभी टैग नामों को किसी अन्य सेट में जोड़कर और फिर सभी टैग के माध्यम से पुनरावृत्ति करके, फिर प्रत्येक के अनुरूप सभी आईडी टैग करें और जांचें कि क्या संबंधित कुंजी मौजूद है - यदि नहीं, तो SREM
पर कॉल करें।
मुझे नहीं लगता कि यह एक प्रभावी तरीका होगा और मैं संभवतः टैग को यथासंभव स्वच्छ रखना चाहूंगा, क्योंकि सेट का आकार शायद कई टैग (SINTER
) द्वारा खोज के प्रदर्शन को प्रभावित करेगा। क्या कोई और "आंतरिक" तरीका है?
हां, यह एक सभ्य तरीका है और मैं शायद कुछ इसी तरह की समस्या को संभालेगा। चूंकि टैग सेट में समय-समय पर समाप्त होने वाले सदस्यों का अस्तित्व किसी भी अन्य तरीके से प्रदर्शन में कोई समस्या नहीं है, इसलिए संभवत: एक न्यूनतम कम से कम चुनाव सीमित करने के लिए, मैं एक डेमॉन के समय-समय पर चलने वाले क्रॉन आइसटेड का उपयोग करूंगा। – Przemek