SpringBoot Redis 递增至最大“n”值

问题描述 投票:0回答:1

我使用以下代码来增加给定键的值并返回该值。下面的代码工作正常,但是,我只想增加到最大值“n”,然后重置该值,同时是线程安全操作。任何帮助将不胜感激。

@Autowired
RedisTemplate<String, Object> redisTemplate;


public long saveAndGetNextValue(){
return ops.increment("myKey:", 1);
}
spring-boot redis
1个回答
0
投票

如果您在提供的密钥中设置了很长的数据。 我希望这有帮助

long n= 999;
if((long)redisTemplate.opsForValue().get("yourKey") < n) {
redisTemplate.opsForValue().increment("yourKey", 1);
 }
else{
redisTemplate.opsForValue().set("yourKey",1);
}
© www.soinside.com 2019 - 2024. All rights reserved.