【问题标题】:redisTemplate.opsForZSet().reverseRange return type not as expectedredisTemplate.opsForZSet().reverseRange 返回类型与预期不符
【发布时间】:2018-08-09 10:08:16
【问题描述】:

我在 redis 中有一个 zset,在我使用时存储所有数字,例如 11、22、33...等

Set<Long> tops = redisTemplate.opsForZSet().reverseRange(key, 0, -1);

我希望返回类型为 Long,但它返回 Integer。

为什么??

任何提示如何解决这个问题??

【问题讨论】:

  • 你的 redistTemplate 定义是什么?
  • @Autowired private RedisTemplate redisTemplate;

标签: spring spring-data-redis


【解决方案1】:

关于RedisTemplate#opsForZSet方法签名:

 public ZSetOperations<K,V> opsForZSet()

它返回与RedisTemplate 中定义的相同的值类型(V)。

您的方法返回 Integer 因为您的 RedisTemplate 将 Integer 定义为值。

如果需要另一个具有 Integer 值的 RedisTemplate,您应该考虑定义另一个具有 Long 值的 RedisTemplate

【讨论】:

  • 如何定义?像这样: RedisTemplate ?
  • 是的。它应该是长的
猜你喜欢
  • 1970-01-01
  • 2017-07-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多