Jfinal 自带redis的key过期问题

使用Redis.use().setex("key", 5, "123");设置key的过期时间为五秒,但是key一直存在,并不会过期,不知道是哪里的问题;

@JFinal

评论区

yunmuzhou

2019-02-22 17:49

@JFinal 麻烦帮忙分析下

JFinal

2019-02-22 18:01

正常情况应该是 5 秒过期,升级一下 jedis 版本看看,可能是 jedis 的 bug

jfinal 的 redis 插件仅仅是转调了底层 jedis 的 API,看一下这里:
https://gitee.com/jfinal/jfinal/blob/master/src/main/java/com/jfinal/plugin/redis/Cache.java

注意看 Cache.java 中的 setex(...) 方法,这个方法在 jfinal 这个层面是不可能有问题的

海哥

2019-02-22 22:00

@JFinal @yuunmuzhou 可能是已经过期了,但是redis server 并不是时时清除过期的数据,所有如果通过客户端去 server 查看的话可能是存在的。但是通过 jedis 等去读取的时候已经读取不到了

巨轮深港啊

2019-12-16 18:46

我也遇到这个问题,设置timeout5秒怎么都不过期

热门反馈

扫码入社