php redis任何设置时间-PHP问题

资源魔 30 0

php redis设置工夫的办法:一、勾销生活工夫,将键的生活工夫设为永世,是PERSIST,代码为【PERSIST session:captcha】;二、看一个键的生活工夫用TTL饬令,代码为【TTL session:captcha】。

php redis设置工夫的办法:

Redis对键提供生活工夫,正在没有指定生活工夫时,生活工夫是永世。工夫到期后Redis会主动删除了这个键。能够用EXPIRE饬令,工夫单元时秒,假如一个键是被设为无限的生活工夫,那末正在SET key进行从新赋值的时分会被再次设为永世:

SET session:captcha sd2a
EXPIRE session:captcha 600

勾销生活工夫,将键的生活工夫设为永世,是PERSIST:

PERSIST session:captcha

查看一个键的生活工夫用TTL饬令,-1示意永世或许和到期被删除了。

TTL session:captcha

正在Redis的INCR,LPUSH,HSET,ZREM等饬令时没有会扭转生活工夫的。

想要准确到毫米来管制工夫,就需求PEXPIRE便可,应用PTTL查看残余工夫。

假如想要给定一个到期的工夫而没有是几何秒后到期呢?就需求EXPIREAT以及PEXPIREAT。EXPIREAT的参数是到期时的工夫戳(秒),PEXPIREAT的参数是到期工夫是工夫戳(毫秒)

SET session:captcha sd2a
EXPIREAT session:captcha 1399902009
PEXPIREAT session:captcha 1399902009000

使用场景一:拜访频次限度:咱们限定每一个用户1分钟只能阅读10个页面。伪代码以下:

$isExists = EXISTS limit:user1:192.168.1.2
if($isExists){
    $num = INCR limit:user1:192.168.1.2
    if($num > 10){
        print '超越限度'
        exit
    }
}else{
    MULTI
    INCR limit:user1:192.168.1.2
    EXPIRE limit:user1:192.168.1.2 60
    EXEC
}

咱们用了事务的缘由是由于,退出正在执行了INCR limit:user1:192.168.1.2之后,正在执行EXPIRE limit:user1:192.168.1.2 60以前,客户端被封闭了。那末这个键以及值就会被耐久化保留。且该ID一生只能拜访10次了。这就太蹩脚了。

想理解更多编程学习,敬请存眷php培训栏目!

以上就是php redis任何设置工夫的具体内容,更多请存眷资源魔其它相干文章!

标签: php php教程 Redis php故障解决 php使用问题 设置时间

抱歉,评论功能暂时关闭!