【问题标题】:How can i use a rangeByScore get result withing SPRING-DATA-REDIS我如何在 SPRING-DATA-REDIS 中使用 zrangeByScore 获取结果
【发布时间】:2013-11-28 08:24:56
【问题描述】:

我使用 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"

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

非常感谢任何帮助!

【问题讨论】:

    标签: java spring nosql redis spring-data-redis


    【解决方案1】:
    <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设置就可以了~

    :)

    【讨论】:

      猜你喜欢
      • 2013-03-22
      • 2020-11-17
      • 2017-06-22
      • 1970-01-01
      • 2019-04-06
      • 1970-01-01
      • 2019-11-01
      • 1970-01-01
      • 2012-06-24
      相关资源
      最近更新 更多