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

Redis में एक पैटर्न से मेल खाने वाली कुंजियों को कैसे हटाएं

Redis कुंजियों को बल्क डिलीट करने का कोई तरीका प्रदान नहीं करता है। हालांकि आप रेडिस को ब्लॉक किए बिना बड़ी मात्रा में डिलीट कीज को हटाने के लिए रेडिस-क्ली और थोड़े से कमांड लाइन मैजिक का उपयोग कर सकते हैं।


यह कमांड उपयोगकर्ताओं से मेल खाने वाली सभी कुंजियों को हटा देगा:*
redis-cli --scan --pattern users:* | xargs redis-cli del

यदि आप रेडिस 4.0 या इसके बाद के संस्करण में हैं, तो आप पृष्ठभूमि में कुंजियों को हटाने के बजाय अनलिंक कमांड का उपयोग कर सकते हैं।


redis-cli --scan --pattern users:* | xargs redis-cli unlink

स्क्रिप्ट कैसे काम करती है?

  1. सबसे पहले, हम redis-cli --scan --pattern <pattern> . का उपयोग करते हैं चाबियों की सूची प्राप्त करने के लिए, प्रति पंक्ति एक कुंजी। चूंकि यह स्कैन का उपयोग करता है, रेडिस सर्वर अवरुद्ध नहीं है।
  2. xargs कई लाइनें लेता है और उन्हें एक ही लाइन पर जोड़ता है, इसलिए आप अनिवार्य रूप से कमांड चला रहे हैं del <key1> <key2>...
  3. यदि आपके पास पैटर्न से मेल खाने वाली हज़ारों कुंजियाँ हैं, तो xargs स्वचालित रूप से कई बार redis-cli निष्पादित करेगा।

यह भी देखें

  • हैश में फ़ील्ड का नाम बदलें
  • एक्सपायरी को कई चाबियों पर सेट करें
  • स्कैन का उपयोग करके एकाधिक कुंजियों का नाम बदलें
  • Redis के लिए RDBTools GUI आपको अपने बल्क कार्यों का पूर्वावलोकन करने देता है और Redis में डेटा प्रबंधित करने के लिए एक शक्तिशाली GUI प्रदान करता है। यह मुफ़्त डाउनलोड है!

  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस + एक्शनकंट्रोलर ::लाइव थ्रेड मर नहीं रहे हैं

  2. Redis, Node.js, और Socket.io :क्रॉस सर्वर प्रमाणीकरण और नोड.जेएस समझ

  3. मैं रेडिस, एक्सप्रेस और सॉकेट का उपयोग करके काम करने के लिए सत्र कैसे प्राप्त कर सकता हूं।

  4. रेडिस स्कैन खाली परिणाम देता है लेकिन गैर-शून्य कर्सर

  5. रेडिस कतार कार्यकर्ता utcparse में दुर्घटनाग्रस्त हो जाता है