2015-05-16 4 views
32

के लिए नामकरण सम्मेलन और मान्य वर्ण मैं सोच रहा था कि रेडिस कुंजी में कौन से पात्र मान्य मानते हैं। मैंने कुछ समय के लिए googled है और कोई उपयोगी जानकारी नहीं मिल रहा है।रेडिस कुंजी

पायथन में की तरह, वैध चर नाम [a-zA-Z0-9_] वर्ग से संबंधित होना चाहिए। रेडिस कुंजी के लिए आवश्यकताएं और सम्मेलन क्या हैं?

उत्तर

57

इसका हिस्सा here का उत्तर दिया गया है, लेकिन यह पूरी तरह डुप्लिकेट नहीं है, क्योंकि आप अनुमति वर्णों के साथ-साथ सम्मेलनों के बारे में पूछ रहे हैं।

Redis कुंजी में मान्य वर्ण, the manual explains this completely के लिए के रूप में:

Redis कुंजी बाइनरी सुरक्षित हैं, इसका मतलब है कि आप किसी भी बाइनरी अनुक्रम एक प्रमुख के रूप में, एक तार से करने के लिए "foo" का उपयोग कर सकते एक जेपीईजी फ़ाइल की सामग्री। खाली स्ट्रिंग भी एक वैध कुंजी है।

कुंजियों के बारे में कुछ अन्य नियम:

बहुत लंबे कुंजी एक अच्छा विचार नहीं कर रहे हैं, उदाहरण के लिए 1024 बाइट के कुंजी एक बुरा विचार न केवल स्मृति के लिहाज से है, बल्कि इसलिए भी कि में महत्वपूर्ण के देखने डेटासेट को कई महंगा कुंजी-तुलना की आवश्यकता हो सकती है। यहां तक ​​कि जब हाथ में कार्य एक बड़े मूल्य के अस्तित्व से मेल खाता है, तो इसे हसिंग करने के लिए (उदाहरण के लिए SHA1 के साथ) एक बेहतर विचार है, खासकर स्मृति और बैंडविड्थ के दृष्टिकोण से।

बहुत छोटी चाबियां अक्सर एक अच्छा विचार नहीं होती हैं। "U1000flw" को एक कुंजी के रूप में लिखने में थोड़ा सा बिंदु है यदि आप इसके बजाय "उपयोगकर्ता: 1000: अनुयायियों" लिख सकते हैं। उत्तरार्द्ध अधिक पठनीय है और अतिरिक्त वस्तु कुंजी वस्तु और मूल्य वस्तु द्वारा उपयोग की गई जगह की तुलना में अतिरिक्त स्थान मामूली है। जबकि छोटी चाबियां स्पष्ट रूप से थोड़ी कम स्मृति का उपभोग करेंगी, आपका काम सही संतुलन ढूंढना है।

स्कीमा से चिपकने का प्रयास करें। उदाहरण के लिए "ऑब्जेक्ट-टाइप: आईडी" एक अच्छा विचार है, जैसा कि "उपयोगकर्ता: 1000" में है। डॉट्स या डैश अक्सर मल्टी-वर्ड फ़ील्ड्स के लिए उपयोग किए जाते हैं, जैसा कि "टिप्पणी: 1234: answer.to" या "टिप्पणी: 1234: उत्तर-टू" है।

अधिकतम स्वीकृत कुंजी आकार 512 एमबी है।

+3

यही वही है जो मैं चाहता हूं। – andy

+0

तो क्या हमारे यहां कुंजी नाम में जगह हो सकती है? – Vipul

+1

@ विपुल: हाँ, "इसका मतलब है कि आप किसी भी बाइनरी अनुक्रम को कुंजी के रूप में उपयोग कर सकते हैं," कमांड लाइन पर आपको उस कुंजी के चारों ओर उद्धरण देना होगा अन्यथा 'कुछ महत्वपूर्ण मेरा मूल्य' काम नहीं करेगा, जबकि 'सेट "कुछ कुंजी" "मेरा मान" 'होगा। –