Redis
 sql >> डेटाबेस >  >> NoSQL >> Redis

स्प्रिंग डेटा के साथ जेडिस का उपयोग करते समय रेडिस में अजीब कुंजी के साथ डेटा क्यों संग्रहीत किया जा रहा है?

ठीक है, थोड़ी देर के लिए गुगल किया और http://java.dzone.com/articles/spring-data-redis पर सहायता प्राप्त की।

यह जावा क्रमांकन के कारण हुआ।

redisTemplate के लिए प्रमुख धारावाहिक को StringRedisSerializer में कॉन्फ़िगर करने की आवश्यकता है यानी इस तरह:

<bean 
    id="jedisConnectionFactory" 
    class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" 
    p:host-name="${redis.server}" 
    p:port="${redis.port}" 
    p:use-pool="true"/>

<bean 
    id="stringRedisSerializer" 
    class="org.springframework.data.redis.serializer.StringRedisSerializer"/>

<bean 
    id="redisTemplate" 
    class="org.springframework.data.redis.core.RedisTemplate"
    p:connection-factory-ref="jedisConnectionFactory" 
    p:keySerializer-ref="stringRedisSerializer"
    p:hashKeySerializer-ref="stringRedisSerializer" 
/>

अब रेडिस में कुंजी है vc:501381

या जैसे @niconic कहते हैं, हम डिफॉल्ट सीरिएलाइज़र को स्ट्रिंग सीरिएलाइज़र में भी इस प्रकार सेट कर सकते हैं:

<bean 
    id="redisTemplate" 
    class="org.springframework.data.redis.core.RedisTemplate"
    p:connection-factory-ref="jedisConnectionFactory" 
    p:defaultSerializer-ref="stringRedisSerializer"
/>

जिसका अर्थ है कि हमारी सभी चाबियां और मूल्य तार हैं। ध्यान दें कि यह बेहतर नहीं हो सकता है, क्योंकि आप चाहते हैं कि आपके मान केवल तार न हों।

यदि आपका मान एक डोमेन ऑब्जेक्ट है, तो आप जैक्सन सीरिएलाइज़र का उपयोग कर सकते हैं और एक सीरिएलाइज़र को कॉन्फ़िगर कर सकते हैं जैसा कि यहां बताया गया है यानी इस तरह:

<bean id="userJsonRedisSerializer" class="org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer">
    <constructor-arg type="java.lang.Class" value="com.mycompany.redis.domain.User"/>
</bean>

और अपने टेम्पलेट को इस रूप में कॉन्फ़िगर करें:

<bean 
    id="redisTemplate" 
    class="org.springframework.data.redis.core.RedisTemplate"
    p:connection-factory-ref="jedisConnectionFactory" 
    p:keySerializer-ref="stringRedisSerializer"
    p:hashKeySerializer-ref="stringRedisSerializer" 
    p:valueSerialier-ref="userJsonRedisSerializer"
/>


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस और पायथन का उपयोग करके एक विशिष्ट प्राप्तकर्ता द्वारा उपभोग किए जाने वाले विफल-सुरक्षित संदेश प्रसारण

  2. एक्शन केबल स्थानीय रूप से सदस्यता ले रहा है, लेकिन उसकेोकू पर नहीं

  3. समय के साथ रेडिगो स्कैनस्ट्रक्चर त्रुटि

  4. एक ही थ्रेड वाले कई चैनलों की सदस्यता लें जेडिस

  5. कई django साइटों के साथ अजवाइन