2010-08-24 11 views
55

के भीतर कोलन का उद्देश्य क्या है, मैं सीख रहा हूं कि मेरी परियोजना के लिए रेडिस का उपयोग कैसे करें। एक बात जो मुझे अपने सिर के चारों ओर नहीं मिली है वह है कि कुंजियों के नाम पर वास्तव में कॉलन का उपयोग किया जाता है।रेडिस कुंजी

users:bob 
color:blue 
item:bag 

बृहदान्त्र श्रेणियों में अलग कुंजी और तेजी से कुंजी खोजने बनाने करता है:

मैं इस तरह के प्रमुख के नाम को देखा है? यदि आप उप श्रेणियों में उन्हें तोड़ने के लिए कुंजी नामकरण करते समय एकाधिक कॉलन का उपयोग कर सकते हैं? आखिरकार रेडिस सर्वर के भीतर विभिन्न डेटाबेस को परिभाषित करने के साथ उनके पास कुछ भी करना है?

मैंने दस्तावेज के माध्यम से पढ़ा है और इस मामले पर कई Google खोजों को किया है लेकिन विचित्र रूप से मुझे इस पर चर्चा करने में कुछ भी नहीं मिल रहा है।

उत्तर

74

कॉलन पहले से लाल संस्करणों में नामित डेटा संग्रहीत करने के लिए एक अवधारणा के रूप में रहे हैं। प्रारंभिक संस्करणों में Redis केवल तार का समर्थन किया, अगर आप ईमेल और 'बॉब' वर्ष की आयु स्टोर करने के लिए करना चाहता था आप एक स्ट्रिंग के रूप में यह सब स्टोर करने के लिए किया था, तो कोलन इस्तेमाल किया गया:

SET user:bob:email [email protected] 
SET user:bob:age 31 

वे कोई विशेष था रेडिस में हैंडलिंग या प्रदर्शन विशेषताओं, एकमात्र उद्देश्य डेटा को फिर से ढूंढने के लिए नाम दे रहा था। आजकल आप coloned चाबियों का सबसे स्टोर करने के लिए हैश का उपयोग कर सकते हैं:

HSET user:bob email [email protected] 
HSET user:bob age 31 

आप हैश नाम के लिए नहीं है "उपयोगकर्ता: बॉब" हम इसे "बॉब" नाम दे सकते हैं, लेकिन उपयोगकर्ता के उपसर्ग के साथ यह नेमस्पेसिंग हम तुरंत जानते हैं कि इस हैश को कौन सी जानकारी चाहिए/हो सकती है।

+1

बहुत बहुत धन्यवाद, मुझे वास्तव में क्या जानने की आवश्यकता है :) – Ryan

+2

मुझे आश्चर्य है कि क्यों '' 'चुना गया था जब' .' इस तरह की चीज़ के लिए विभिन्न भाषाओं में अधिक आम लगता है। – CivFan

+2

शायद पॉइंट-ऑपरेटर से बिल्कुल अलग होना है जिसका उपयोग ऑब्जेक्ट एक्सेस –

30

कॉलन कुंजी की संरचना करने का एक तरीका है। वे रेडिस द्वारा किसी भी तरह से व्याख्या नहीं किया जाता है। आप किसी अन्य डिलीमीटर का भी उपयोग कर सकते हैं जिसे आप पसंद करते हैं या कोई भी नहीं। मैं व्यक्तिगत रूप से / पसंद करता हूं, जो मेरी चाबियाँ फाइल सिस्टम पथ की तरह दिखता है। उनके प्रदर्शन पर कोई प्रभाव नहीं पड़ता है लेकिन आपको उन्हें लंबे समय तक नहीं बनाना चाहिए क्योंकि रेडिस को सभी चाबियाँ स्मृति में रखना है।

सॉर्ट कमांड की शक्ति का लाभ उठाने के लिए एक अच्छी कुंजी संरचना महत्वपूर्ण है, जो एसडीसी के शामिल होने के जवाब 'लाल' है।

GET user:bob:color -> 'blue' 
GET user:alice:color -> 'red' 

SMEMBERS user:peter:friends -> alice, bob 

SORT user:peter:friends BY NOSORT GET user:*:color -> 'blue', 'red' 

आप देख सकते हैं कि मुख्य संरचना एसओटी को संरचित कुंजी के संदर्भ में उपयोगकर्ता के रंगों को देखने में सक्षम बनाता है।

+1

के लिए अधिकांश भाषाओं में किया जाता है/एक अच्छा सुझाव है! –

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