gpt4 book ai didi

java - 我如何使用 zrangeByScore 在 SPRING-DATA-REDIS 中获取结果

转载 作者:可可西里 更新时间:2023-11-01 11:01:26 25 4
gpt4 key购买 nike

我使用 ZADD 设置值并通过 ZRANGBYSCORE 获取值

redis 127.0.0.1:6379> ZADD mytest 1 "one" 2 "two" 3 "three"
(integer) 3
redis 127.0.0.1:6379> ZRANGEBYSCORE mytest 1 3
1) "one"
2) "two"
3) "three"

然后,我使用 SPRING-DATA-REDIS API 设置值

redisTemplate.opsForZSet().add("mytest", "four", 4.0);

但是,我使用 SPRING-DATA-REDIS API 获取值并返回不是我期望的值(我期望是 [one, two, three, four])

Set<Object> result = redisTemplate.opsForZSet().rangeByScore("mytest", 1.0, 4.0);
System.out.println(result);
[four]

并通过redis-cli检查

redis 127.0.0.1:6379> ZRANGEBYSCORE mytest 1 4
1) "one"
2) "two"
3) "three"

为什么数据似乎没有同步?

非常感谢任何帮助!

最佳答案

<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate"
p:connection-factory-ref="jedisConnectionFactory">
<property name="valueSerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
<property name="keySerializer">
<bean class="org.springframework.data.redis.serializer.StringRedisSerializer" />
</property>
</bean>

我想办法了,像这样改redisTemplate的设置就ok啦~

:)

关于java - 我如何使用 zrangeByScore 在 SPRING-DATA-REDIS 中获取结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19992684/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com