Redis
 sql >> Teknologi Basis Data >  >> NoSQL >> Redis

Cara mendapatkan semua Kunci dari Redis menggunakan template redis

Saya baru saja mengkonsolidasikan jawabannya, kita telah melihat di sini.

Berikut adalah dua cara untuk mendapatkan kunci dari Redis, saat kami menggunakan RedisTemplate.

1. Langsung dari 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);
}

Catatan:Anda seharusnya telah mengonfigurasi redisTemplate dengan StringRedisSerializer dalam kacang Anda

Jika Anda menggunakan konfigurasi kacang berbasis java

redisTemplate.setDefaultSerializer(new StringRedisSerializer());

Jika Anda menggunakan konfigurasi kacang berbasis spring.xml

<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. Dari 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();

Jika Anda tidak menutup koneksi ini secara eksplisit, Anda akan kehabisan kumpulan koneksi jedis yang mendasarinya seperti yang disebutkan di https://stackoverflow.com/a/36641934/3884173.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Redis - Indeks yang kedaluwarsa tidak dihapus

  2. Bagaimana cara memberi tahu Klien di mana master Redis baru menggunakan Sentinel

  3. Batch set data dari Kamus ke Redis

  4. redis dan tonton + multi memungkinkan pengguna bersamaan

  5. Simpan sesi pengguna di Redis dengan ASP.NET Core di Azure