2015-02-18 9 views
5

में एक निश्चित पैटर्न से मेल खाने वाली कुंजियों को कैसे हटाएं Redis-cli का उपयोग करके रेडिस में किसी निश्चित पैटर्न से मेल खाने वाली कुंजियों को कैसे हटाएं। मैं निम्नलिखित सूची से सभी foo को हटाना चाहता हूं।रेडिस

KEYS * 

foo:1 
foo:2 
bar:1 
foo:3 
bar:2 
foo:4 
+3

वहाँ जैसे http://stackoverflow.com/a/23399125/3160475 –

+0

के संभावित डुप्लिकेट एक ही विषय पर कई प्रश्नों का उत्तर दिया, कर रहे हैं [कैसे करें रेडिस का उपयोग करके पैटर्न से मिलान करने वाली कुंजी को परमाणु रूप से हटाएं] (http://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis) – bitoiu

+0

बड़े समाधान के लिए भी अच्छा समाधान > 1000 कुंजी। https://stackoverflow.com/questions/4006324/how-to-atomically-delete-keys-matching-a-pattern-using-redis#comment39607023_16974060 –

उत्तर

18

जैसा कि प्रश्न पर टिप्पणी में बताया गया है, यहां पहले से ही इसके कई अन्य उत्तर हैं। यदि आप उत्पादन सेवर में ऐसा करने के बारे में सोच रहे हैं तो निश्चित रूप से ऊपर दिए गए एक को पढ़ें।

एक मैं कभी कमांड लाइन सफाई के लिए सबसे उपयोगी पाया था:

redis-cli KEYS "*" | xargs redis-cli DEL

"How to atomically delete keys matching a pattern using Redis" से

+1

मैं KEYS के बजाय "redis-cli --scan" का उपयोग करूंगा। विशेष रूप से लाइव वातावरण में। कुंजी का उपयोग अनुशंसित नहीं है। –

3

मैंने अभी एक कमांड लाइन इंटरफ़ेस उपयोगिता को एनपीएम और जीथब में प्रकाशित किया है जो आपको Redis डेटाबेस से दिए गए पैटर्न (यहां तक ​​कि *) से मेल खाने वाली कुंजी को हटाने की अनुमति देता है।

आप उपयोगिता यहाँ पा सकते हैं:

https://www.npmjs.com/package/redis-utils-cli