在测试环境碰到一个很奇怪的问题。
在一个接口里面,我用了如下方法来设置redis缓存.
if (jedis.setnx(key,value) == 1) {
jedis.expire(key, 60秒);
//一系列数据查询过后
jedis.setex(key, 600秒, value);
}
但是经常key会莫名其妙变成永不过期的缓存,导致这个方法进不去。
大家有什么见解吗?(比如代码原因 ,还是机器内存不够造成redis持久化等等?)
在测试环境碰到一个很奇怪的问题。
在一个接口里面,我用了如下方法来设置redis缓存.
if (jedis.setnx(key,value) == 1) {
jedis.expire(key, 60秒);
//一系列数据查询过后
jedis.setex(key, 600秒, value);
}
但是经常key会莫名其妙变成永不过期的缓存,导致这个方法进不去。
大家有什么见解吗?(比如代码原因 ,还是机器内存不够造成redis持久化等等?)
15 回答8.4k 阅读
8 回答6.2k 阅读
1 回答4k 阅读✓ 已解决
3 回答6k 阅读
3 回答2.2k 阅读✓ 已解决
2 回答3.1k 阅读
2 回答3.8k 阅读