So erhalten Sie alle Keys von Redis mit der Redis-Vorlage

7

Ich habe dieses Problem mit einiger Zeit festgeklammert. Ich möchte Schlüssel von redis bekommen, die redis Schablone verwenden. Ich habe dies versucht.redistemplate.keys ("*"); aber das bringt nichts. Selbst mit dem Muster funktioniert es nicht.

Können Sie uns bitte beraten, was die beste Lösung ist?

    
user1744099 30.09.2013, 15:27
quelle

6 Antworten

11

Ich habe nur die Antworten zusammengefasst, die wir hier gesehen haben.

Hier sind die zwei Möglichkeiten, Schlüssel von Redis zu bekommen, wenn wir RedisTemplate verwenden.

1. Direkt von RedisTemplate

%Vor%

Hinweis: Sie sollten redisisTemplate mit StringRedisSerializer in Ihrer Bean konfigurieren

Wenn Sie Java-basierte Bean-Konfiguration verwenden

%Vor%

Wenn Sie die auf der Basis von jones.jml basierende Bean-Konfiguration verwenden

%Vor%

2. Von JedisConnectionFactory

%Vor%

Wenn Sie diese Verbindung nicht explizit schließen, führt dies zu einer Erschöpfung des zugrunde liegenden Jedis-Verbindungspools, wie in Ссылка .

    
prashanth-g 19.08.2016 06:17
quelle
8

versuchen:

%Vor%     
user3270238 04.02.2014 09:39
quelle
3

Versuchen Sie redisTemplate.setKeySerializer(new StringRedisSerializer());

    
dturanski 18.02.2015 17:15
quelle
1

Ich habe redisTemplate.keys() verwendet, aber es hat nicht funktioniert. Also habe ich Jedis benutzt, es hat funktioniert. Das Folgende ist der Code, den ich verwendet habe.

%Vor%     
Jason Null 03.01.2017 08:48
quelle
0

Es hat funktioniert, scheint aber nicht zu empfehlen? Weil wir den Keys-Befehl in der Produktion nicht verwenden können. Ich nehme an, dass RedisTemplate.getConnectionFactory().getConnection().keys den Befehl redisers Keys aufruft. Was sind die Alternativen?

    
ashK 22.02.2016 06:19
quelle
0

Lösung kann so sein

%Vor%

Oder Sie können stattdessen jedis.hscan() und ScanParams verwenden.

    
VanThaoNguyen 09.08.2016 08:58
quelle

Tags und Links