अक्सर, डेवलपर्स चाबियों पर समाप्ति सेट करना भूल जाते हैं, और रेडिस स्मृति से बाहर निकलने लगती है। जब आप नई जेनरेट की गई चाबियों के लिए समाप्ति सेट कर सकते हैं, तब भी आपको स्मृति में पहले से बैठे चाबियों के लिए समाप्ति सेट करने का एक तरीका चाहिए।
यह आदेश उपयोगकर्ताओं से मेल खाने वाली चाबियों के लिए समाप्ति निर्धारित करेगा:*
स्क्रिप्ट कैसे काम करती है?
- सबसे पहले, हम
redis-cli --scan --pattern <pattern>
. का उपयोग करते हैं चाबियों की सूची प्राप्त करने के लिए, प्रति पंक्ति एक कुंजी। - फिर हम प्रत्येक कुंजी के लिए एक awk स्क्रिप्ट चलाते हैं। यह अजीब स्क्रिप्ट थोड़ी जटिल है, इसलिए हम इसे तोड़ देंगे
- awk स्क्रिप्ट में एक कमांड टेम्प्लेट होता है
expire __key__ 1000
. यह वह कमांड है जो सभी चाबियों के लिए चलेगी। - प्रत्येक मिलान कुंजी के लिए, awk कमांड
__key__
. को प्रतिस्थापित करता है वास्तविक कुंजी के साथ - अगला, हम स्ट्रिंग कमांड को रेडिस प्रोटोकॉल फॉर्मेट में बदलते हैं। यह कच्चा प्रारूप है जिसे रेडिस समझता है।
- आखिरकार, हम -पाइप फ्लैग का उपयोग करके कच्चे कमांड को रेडिस-क्ली में पाइप करते हैं। रेडिस को बल्क कमांड भेजने का यह सबसे कारगर तरीका है।
इस स्क्रिप्ट को कस्टमाइज़ करना
- आप अनुकूलित कर सकते हैं
cmd_template
पैटर्न से मेल खाने वाली एकाधिक कुंजियों के विरुद्ध कोई एकल कुंजी रेडिस कमांड चलाने के लिए। - रेडिस स्कैन केवल ग्लोब स्टाइल पैटर्न की अनुमति देता है, रेगेक्स समर्थित नहीं है। तो
users:*
users:123
. से मेल खाएगा साथ हीusers:123:favourites
. आप एकgrep
डाल सकते हैं पहले रेडिस-क्ली के बाद और awk स्क्रिप्ट से पहले पाइपलाइन में। - यदि आपका रेडिस सर्वर लोकलहोस्ट पर नहीं है, तो आपको होस्ट, पोर्ट और पासवर्ड दो बार देना होगा कमांड में, मूल रूप से जब भी आप रेडिस-क्ली कहते हैं।
यह भी देखें
- हैश में फ़ील्ड का नाम बदलें
- स्कैन का उपयोग करके एकाधिक कुंजियों का नाम बदलें
- किसी पैटर्न से मेल खाने वाली कुंजियां हटाएं
- Redis के लिए RDBTools GUI आपको अपने बल्क कार्यों का पूर्वावलोकन करने देता है और Redis में डेटा प्रबंधित करने के लिए एक शक्तिशाली GUI प्रदान करता है। यह मुफ़्त डाउनलोड है!