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?
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 Ссылка
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.
Lösung kann so sein
%Vor% Oder Sie können stattdessen jedis.hscan()
und ScanParams
verwenden.