Redis, अन्य NoSQL डेटास्टोर्स की तरह, आप जो करने जा रहे हैं, उसके आधार पर अलग-अलग आवश्यकताएं हैं।
रेडिस में कई डेटा संरचनाएं हैं जो आपकी आवश्यकता के आधार पर उपयोगी हो सकती हैं। उदाहरण के लिए, अपनी इच्छा को देखते हुए select * from student where name = 'xxx'
आप एक रेडिस hash
का उपयोग कर सकते हैं ।
redis 127.0.0.1:6379> hmset student:xxx id 1 college nnn address xn
OK
redis 127.0.0.1:6379> hgetall student:xxx
1) "id"
2) "1"
3) "college"
4) "nnn"
5) "address"
6) "xn"
यदि आपके पास अन्य प्रश्न हैं, जैसे आप वही काम करना चाहते हैं, लेकिन where college = 'nnn'
चुनें तो आपको अपने डेटा को असामान्य बनाना होगा। सामान्यीकरण आमतौर पर SQL में एक बुरी बात है, लेकिन NoSQL में यह बहुत सामान्य है।
यदि आपकी प्राथमिक क्वेरी नाम के विरुद्ध होगी, लेकिन आपको कॉलेज के विरुद्ध क्वेरी करने की आवश्यकता हो सकती है, तो आप set
जोड़ने जैसा कुछ कर सकते हैं हैश के अलावा।
redis 127.0.0.1:6379> sadd college:nnn student:xxx
(integer) 1
redis 127.0.0.1:6379> smembers college:nnn
1) "student:xxx"
इस तरह संरचित आपके डेटा के साथ, यदि आप कॉलेज xn में जाने वाले नामों के लिए सभी जानकारी प्राप्त करना चाहते हैं, तो आप पहले set
का चयन करेंगे। , फिर प्रत्येक hash
. का चयन करें set
. में दिए गए नाम के आधार पर ।
आपकी आवश्यकताएं आम तौर पर आपके द्वारा उपयोग किए जाने वाले डिज़ाइन और संरचनाओं को संचालित करेंगी।