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

मेरी रेडिस कुंजियाँ समाप्त नहीं होती हैं

चूंकि आप '...' कर रहे हैं, यह निश्चित रूप से कहना मुश्किल है, लेकिन मैं कहूंगा कि आप उस हिस्से के दौरान mykey सेट कर रहे हैं, जो प्रभावी रूप से समाप्ति को हटा देगा।

EXPIRE मैनुअल से

<ब्लॉकक्वॉट>

टाइमआउट तभी क्लियर होता है जब कुंजी को DEL कमांड का उपयोग करके हटा दिया जाता है या SET या GETSET कमांड का उपयोग करके ओवरराइट किया जाता है

साथ ही, टीटीएल के -1 उत्तर के संबंध में

<ब्लॉकक्वॉट>

वापसी मूल्य

पूर्णांक उत्तर:टीटीएल सेकंड या -1 में जब कुंजी मौजूद नहीं है या समयबाह्य नहीं है।

संपादित करें:ध्यान दें कि यह व्यवहार Redis 2.8 में बदल गया है

<ब्लॉकक्वॉट>

रेडिस 2.8 से शुरू होने पर त्रुटि के मामले में वापसी मूल्य बदल जाता है:
यदि कुंजी मौजूद नहीं है तो कमांड -2 लौटाता है।
यदि कुंजी मौजूद है लेकिन कोई संबद्ध समाप्ति नहीं है तो कमांड -1 लौटाता है।
पी>

दूसरे शब्दों में, यदि आपकी कुंजी मौजूद है, तो यह स्थायी प्रतीत होगी, अर्थात कोई समाप्ति सेट नहीं है।

संपादित करें:ऐसा लगता है कि अगर मैं रेडिस दास सर्वर पर कुंजी बना देता हूं तो मैं इसे पुन:उत्पन्न कर सकता हूं, दास मास्टर इनपुट के बिना कुंजी को नहीं हटाएगा, क्योंकि आम तौर पर आप दास पर स्थानीय रूप से कुंजी नहीं बनायेंगे। क्या यहाँ ऐसा ही है?

<ब्लॉकक्वॉट>

हालाँकि, जबकि एक मास्टर से जुड़े दास स्वतंत्र रूप से कुंजी समाप्त नहीं करेंगे (लेकिन मास्टर से आने वाले DEL की प्रतीक्षा करेंगे), वे अभी भी डेटासेट में मौजूद समाप्ति की पूरी स्थिति लेंगे, इसलिए जब एक दास को एक मास्टर के लिए चुना जाता है पूरी तरह से एक मास्टर के रूप में कार्य करते हुए, चाबियों को स्वतंत्र रूप से समाप्त करने में सक्षम होंगे।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ट्रैविस हेरोकू को तैनात करते समय रेडिस कैश_स्टोर का उपयोग करने में विफल क्यों होता है?

  2. रेडिस कनेक्शन विफल होने पर रन टाइम पर रेडिस कैशिंग को अक्षम कैसे करें

  3. वास्तविक समय में नोड जेएस और डी3 का उपयोग करके मानचित्र पर राज्यों का प्लॉटिंग नाम

  4. रेडिस टीसीपी-बैकलॉग

  5. प्रीडिस का उपयोग करके, एक बहुआयामी सहयोगी सरणी कैसे सेट करें (यानी स्टोर करें)?