इसके लिए कोई आदेश नहीं है, लेकिन आप ऐसा करने के लिए एक स्क्रिप्ट लिख सकते हैं।
आपको प्रत्येक कुंजी के लिए "टाइप" कमांड निष्पादित करने की आवश्यकता होगी:
> type <key>
और प्रतिक्रिया प्रदर्शन के आधार पर:
- "स्ट्रिंग" के लिए:
get <key>
प्राप्त करें - "हैश" के लिए:
hgetall <key>
- "सूची" के लिए:
lrange <key> 0 -1
- "सेट" के लिए:
smembers <key>
- "zset" के लिए:
zrange <key> 0 -1 withscores
ध्यान रखें कि हैश और सॉर्ट किए गए सेट के लिए आपको कुंजी/स्कोर और मान मिलेंगे।
एक संभावित sh
कार्यान्वयन:
#!/bin/sh -eu
keys=`redis-cli keys '*'`
if [ "$keys" ]; then
echo "$keys" | while IFS= read -r key; do
type=`echo | redis-cli type "$key"`
case "$type" in
string) value=`echo | redis-cli get "$key"`;;
hash) value=`echo | redis-cli hgetall "$key"`;;
set) value=`echo | redis-cli smembers "$key"`;;
list) value=`echo | redis-cli lrange "$key" 0 -1`;;
zset) value=`echo | redis-cli zrange "$key" 0 -1 withscores`;;
esac
echo "> $key ($type):"
echo "$value" | sed -E 's/^/ /'
done
fi
लेकिन ध्यान दें:
<ब्लॉकक्वॉट>
चेतावनी:KEYS
पर विचार करें एक आदेश के रूप में जिसका उपयोग केवल अत्यधिक सावधानी के साथ उत्पादन वातावरण में किया जाना चाहिए। जब इसे बड़े डेटाबेस के विरुद्ध निष्पादित किया जाता है तो यह प्रदर्शन को बर्बाद कर सकता है। यह आदेश डिबगिंग और विशेष संचालन के लिए अभिप्रेत है, जैसे कि आपके कीस्पेस लेआउट को बदलना।
https://redis.io/commands/keys