अपने सभी हैश को स्टोर करने के लिए एकल कुंजी का उपयोग करने के लिए कुछ क्रमांकन की आवश्यकता होगी क्योंकि रेडिस नेस्टेड डेटा संरचनाओं का समर्थन नहीं करता है। परिणाम निम्न होगा:
key: users:pro
|
+-----> field value
name:Bruce "age: 20, score: 100"
name:Ed "age: 22, score: 80"
> HMSET users:pro name:Bruce "age: 20, score: 100" name:Ed "age:22, score:80"
संबंधित क्रमबद्ध सेट होगा:
key: users:pro.by_scores
|
+---> scores: 80 100
+---> values: "name:Ed" "name:Bruce"
> ZADD users:pro.by_scores 80 "name:Ed" 100 "name:Bruce"
नोट 1 :यह दृष्टिकोण प्रति उपयोगकर्ता एक अद्वितीय आईडी को अनिवार्य करता है, वर्तमान में name
संपत्ति का उपयोग किया जाता है जो समस्याग्रस्त हो सकता है।
नोट 2 :क्रमांकन (और अक्रमांकन) से बचने के लिए, आप प्रति उपयोगकर्ता एक समर्पित कुंजी का उपयोग करने पर विचार कर सकते हैं। इसका मतलब है करना:
key: users:pro:Bruce
|
+-----> field value
age 20
score 100
key: users:pro:Ed
|
+-----> field value
age 22
score 80
> HMSET users:pro:Bruce age 20 score 100
> HMSET users:pro:Ed age 22 score 80
key: users:pro.by_scores
|
+---> scores: 80 100
+---> values: "users:pro:Ed" "users:pro:Bruce"
> ZADD users:pro.by_scores 80 "users:pro:Ed" 100 "users:pro:Bruce"