Redis操作一个设置过期时间的key

StringkeyName_str=redisService.get(keyName);if(keyName_str==null){redisService.set(ke... String keyName_str = redisService.get(keyName);
if (keyName_str==null){
redisService.set(keyName,"1","NX","EX",5*60);
} else {
int i = Integer.parseInt(keyName_str);
i+=1;
redisService.set(keyName,i+"","XX","EX",5*60);
}
我在9点55设置了一个为期5分钟的key,第一次进来,value为1,没问题;9点58进来,代码走else,value为2,过期时间变为10点03。。。本意是,这个key只能存在5分钟,并且value可以自增。求大神解答
展开
 我来答
A20110809ba
2019-08-13 · TA获得超过372个赞
知道小有建树答主
回答量:223
采纳率:100%
帮助的人:113万
展开全部
执行set命令的时候,你又重新设置了这个redis的key超时时间,如果你只是想第一次设置超时时间,可以把else语句里面直接更新这个key的value就可以了,不需要再设置超时时间。
else {
int i = Integer.parseInt(keyName_str);
i+=1;
redisService.set(keyName,i+"");
}
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式