Redis Expire没有按预期工作

时间:2016-05-02 07:24:44

标签: redis

根据Redis文档,EXPIREAT接受unixtime作为指定密钥被删除时间的参数。

当我在redis-cli中执行以下命令时:

127.0.0.1:6379> set bb bb
OK
127.0.0.1:6379> EXISTS bb
(integer) 1
127.0.0.1:6379> TTL bb
(integer) -1
127.0.0.1:6379> EXPIREAT bb 1462173420000 //executed at 1462173300000 ====>>> 1
(integer) 1
127.0.0.1:6379> EXISTS bb //executed after 1462173420000
(integer) 1 =============>>> 2
127.0.0.1:6379> TTL bb
(integer) 1460711246668
127.0.0.1:6379> TTL bb
(integer) 1460711246663
127.0.0.1:6379> EXPIREAT bb 100
(integer) 1 ===================>> 3
127.0.0.1:6379> EXISTS bb
(integer) 0 ===================>> 4

EXPIREAT在bb上执行时间 - 2016年5月2日下午12:47,2016年5月2日下午12:45。

即使在2016年5月2日下午12:47之后,钥匙仍然存在。 为什么会这样?

为什么EXPIREAT接受无效的unixtime - 100 ??

1 个答案:

答案 0 :(得分:2)

from django.views.decorators.cache import cache_control @cache_control(no_cache=True, must_revalidate=True, no_store=True) def admin_logout(request): logout(request) return redirect("user_login") 取值为秒,而不是毫秒。对于毫秒,您必须使用 Toolbar toolbar = (Toolbar) findViewById(R.id.my_awesome_toolbarf); toolbartitle = (TextView) findViewById(R.id.titletool); setSupportActionBar(toolbar); toolbartitle.setText("Hindi_Dialouges"); 。您已将该值指定为毫秒,因此将到期时间设置为更高的值。

针对您的用例进行的小型实验:

EXPIREAT