उत्तर देने से पहले, क्या आप अपना RedisTemplate कार्यान्वयन कोड साझा करना चाहते हैं? (या यह @RedisHash एनोटेशन द्वारा उत्पन्न किया गया है?) मैं स्वयं स्प्रिंग-डेटा-रेडिस के लिए नया हूं और @RedisHash एनोटेशन के बारे में नहीं जानता था और इसे देखना चाहता हूं।
वैसे भी, अनिवार्य रूप से यहाँ क्या हो रहा है कि स्प्रिंग-डेटा-रेडिस रिपॉजिटरी अलग-अलग उद्देश्यों के लिए रेडिस द्वारा मूल रूप से समर्थित विभिन्न डेटा संरचनाओं में व्यक्ति वस्तु को सम्मिलित कर रही है।
रेडिस विभिन्न डेटा संरचनाओं का समर्थन करता है जैसे:
-
हैशरेडिस आपके संपूर्ण व्यक्ति ऑब्जेक्ट का प्रतिनिधित्व करने के लिए स्ट्रिंग फ़ील्ड और स्ट्रिंग मानों का नक्शा बनाता है। यदि आप
HGETALL persons:{your person id}
करते हैं यह आपके व्यक्ति ऑब्जेक्ट से जुड़े सभी अलग-अलग क्षेत्रों और मूल्यों को दिखाएगाHASH holding property values for id "c5cfd49d-6688-4b83-a9b7-be55dd1c36ad" in keyspace "persons"
-
SetRedis मूल कच्चे स्ट्रिंग को सम्मिलित करता है और उनके क्षेत्र के आधार पर संस्थाओं को अनुक्रमित करता है। इसलिए बहुत सारे थे
SET
आपके रेडिस डीबी में संचालन। आपfirstName
. की अनुक्रमणिका देख सकते हैं औरlastName
आपके डेटा सेट मेंSET holding all ids known in the keyspace "persons"
-
ZSetयह
Sorted Sets
के लिए रेडिस ऑपरेशन है डेटा संरचना। जो स्ट्रिंग्स का एक ऑर्डर किया गया संग्रह है। Redis Documentations सेIn short with sorted sets you can do a lot of tasks with great performance that are really hard to model in other kind of databases.
ऐसा लगता है कि स्प्रिंग डेटा सीआरयूडी संचालन को अनुकूलित करने के लिए स्वचालित रूप से स्थान डेटा को एक क्रमबद्ध सेट के रूप में सम्मिलित करता है।
आप यहां और अधिक पढ़ सकते हैं:
https://github.com/spring-projects/spring-data-examples/blob/master/redis/repositories/README.md
https://redis.io/topics/data-types