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

रेडिस टेम्पलेट का उपयोग करके रेडिस से सभी कुंजी कैसे प्राप्त करें

मैंने अभी उत्तरों को समेकित किया है, हमने यहां देखा है।

जब हम RedisTemplate का उपयोग करते हैं, तो यहाँ Redis से कुंजियाँ प्राप्त करने के दो तरीके दिए गए हैं।

<मजबूत>1. सीधे RedisTemplate से

Set<String> redisKeys = template.keys("samplekey*"));
// Store the keys in a List
List<String> keysList = new ArrayList<>();
Iterator<String> it = redisKeys.iterator();
while (it.hasNext()) {
       String data = it.next();
       keysList.add(data);
}

नोट:आपको redisTemplate को StringRedisSerializer . के साथ कॉन्फ़िगर करना चाहिए था आपके बीन में

यदि आप जावा आधारित बीन कॉन्फ़िगरेशन का उपयोग करते हैं

redisTemplate.setDefaultSerializer(new StringRedisSerializer());

यदि आप स्प्रिंग.एक्सएमएल आधारित बीन कॉन्फ़िगरेशन का उपयोग करते हैं

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

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

<मजबूत>2. JedisConnectionFactory से

RedisConnection redisConnection = template.getConnectionFactory().getConnection();
Set<byte[]> redisKeys = redisConnection.keys("samplekey*".getBytes());
List<String> keysList = new ArrayList<>();
Iterator<byte[]> it = redisKeys.iterator();
while (it.hasNext()) {
       byte[] data = (byte[]) it.next();
       keysList.add(new String(data, 0, data.length));
}
redisConnection.close();

यदि आप इस कनेक्शन को स्पष्ट रूप से बंद नहीं करते हैं, तो आप अंतर्निहित जेडिस कनेक्शन पूल की थकावट में भाग लेंगे जैसा कि https://stackoverflow.com/a/36641934/3884173 में कहा गया है।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. रेडिस डेटाबेस को जानें:कीज़ पर इटरेटिंग

  2. मेमकैच्ड बनाम रेडिस?

  3. प्रोग्रामेटिक रूप से रेडिस क्यू (आरक्यू) में एक कतार () को नष्ट / हटाना

  4. Catbox-redis मेरे hapijs एप्लिकेशन पर डिस्कनेक्ट की गई त्रुटि दिखा रहा है

  5. स्प्रिंग बूट + रेडिस - एक अजीब कुंजी उत्पन्न करना