У меня есть zset в redis, сохраняю все числа, например 11,22,33 ... и т.д., когда я использую
Set<Long> tops = redisTemplate.opsForZSet().reverseRange(key, 0, -1);
Я ожидаю, что возвращаемый тип будет Long, но он возвращает Integer.
Зачем??
какие-нибудь советы, как это решить ??
@Autowired private RedisTemplate redisTemplate;
Что касается сигнатуры метода RedisTemplate # opsForZSet:
public ZSetOperations<K,V> opsForZSet()
Он возвращает тот же тип значения (V), как определено в RedisTemplate.
Ваш метод возвращает Integer, потому что ваш RedisTemplate определяет Integer как значение.
Если требуется еще один RedisTemplate с целочисленным значением, вам следует подумать об определении другого RedisTemplate с длинным значением.
как это определить? вот так: RedisTemplate <String, Long>?
да. Он должен быть длинным
Какое у вас определение redistTemplate?