我使用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获得价值并且返回非我期望的值(我期望是[一,二,三,四])
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"
为什么数据似乎没有同步?
任何帮助都非常赞赏!
答案 0 :(得分:0)
<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设置就好了〜
:)