[FIXED] Spring Data Redis-Implementierung redis zrevrangebyscore-Operation

Ausgabe

Ich habe eine Frage, weil es etwas gibt, das im Betrieb von Spring Data Redis nicht gut funktioniert.

Bei der Verwendung von redis-cli gab es kein Problem mit der Abfrage, aber wenn ich die API von spring data redis verwende

Es konnten keine Ergebnisse abgerufen werden, daher frage ich, ob es einen anderen Weg gibt oder ob ich einen Fehler gemacht habe.

wenn redis-cli

$zrevrangebyscore redis_key +inf (1664142666 withscores

1) "189:Z0000539"
2) "1664432446"
3) "192:Z0000288"
4) "1664332797"
5) "178:0000cq4e"
6) "1664256182"

In Spring data redis

private val stringRedisTemplate: StringRedisTemplate
val now = Instant.now().epochSecond - (86400 * 7L);


val res = stringRedisTemplate.opsForZSet().reverseRangeByScore(
            "redis_key",
            0.0,
            now.toDouble()
        )
res //<- empty

Ich würde mich freuen, wenn Sie mir Ihre Meinung mitteilen könnten.

Lösung

Sie ersetzen +infin redis-cli durch 0.0in spring-data-redis, was kein logischer Ersatz zu sein scheint.

Probieren Sie Double.POSITIVE_INFINITYstatt 0.0.


Beantwortet von –
sazzad


Antwort geprüft von –
Terry (FixError Volunteer)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like