2011-09-18 41 views
17

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

क्या डेटाबेस में सभी सेट प्राप्त करने के लिए कोई आदेश है? अन्य डेटा प्रकारों (हैश, सूची, क्रमबद्ध सेट) के बारे में क्या?

http://redis.io/topics/data-types

उत्तर

25

मैं KEYS आदेश पता है, लेकिन है कि केवल कुंजी देता है (मैं अनुमान लगा रहा हूँ प्रकार स्ट्रिंग के साथ कुंजी के सभी), और जाहिरा तौर पर सेट माना चाबियाँ नहीं हैं।

KEYS कमांड रिटर्न परिणाम इससे कोई फर्क नहीं पड़ता कि आपकी कुंजी किस प्रकार की है, क्योंकि यह कुंजी नामों की खोज करता है। अवशोषण के निम्नतम स्तर पर रेडिस में प्रत्येक डेटा प्रकार कुंजी/मान आधारित होता है जहां मूल्य को कई (उन्नत) डेटा संरचनाओं (स्ट्रिंग, हैश, सूची, सेट, क्रमबद्ध सेट) में से एक के रूप में प्रदर्शित किया जा सकता है। आप देख सकते हैं कि KEYS कमांड examples में सेट के लिए भी काम करता है।

क्या डेटाबेस में सभी सेट प्राप्त करने के लिए कोई आदेश है? अन्य डेटा प्रकारों (हैश, सूची, क्रमबद्ध सेट) के बारे में क्या है?

जहां तक ​​मुझे पता है कि इस कार्यक्षमता के लिए कोई समर्पित आदेश नहीं है और KEYS कमांड आपके डेटाबेस के पूरे डेटा सेट पर लागू होता है। हालांकि TYPE कमांड है जो निर्दिष्ट प्रकार के डेटा प्रकार निर्धारित कर सकता है।

+1

उफ़ की जाँच करें, मैंने किया था * 'कुंजी '*'', नहीं '' कुंजी। मैं इसे रेडिस-क्ली के माध्यम से चला रहा था और बैश से बचने की कोशिश कर रहा था (कभी-कभी मैं 'रेडिस-क्ली कुंजी' * 'या' रेडिस-क्ली के इंटरेक्टिव मोड का उपयोग करने के बजाए बैश की तरह) करता हूं। हालांकि उत्तर के लिए धन्यवाद! – tjameson

4

जवाब अपने समय के लिए सही था, लेकिन इस redis 2.8.0 से समर्थित है - SCAN

+1

स्कैन का उपयोग करके टाइप प्रकार की कुंजी की सूची कैसे प्राप्त कर सकते हैं? 'एसएससीएएन 'कमांड केवल टाइप सेट की कुंजी के अंदर पुनरावृत्त करता है – Emer

संबंधित मुद्दे