真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

phpredis設(shè)置時(shí)間的方法

這篇文章將為大家詳細(xì)講解有關(guān)php redis設(shè)置時(shí)間的方法,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

成都創(chuàng)新互聯(lián)歡迎咨詢:18980820575,為您提供成都網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)及定制高端網(wǎng)站建設(shè)服務(wù),成都創(chuàng)新互聯(lián)網(wǎng)頁制作領(lǐng)域十載,包括陽光房等多個(gè)方面擁有多年的網(wǎng)站制作經(jīng)驗(yàn),選擇成都創(chuàng)新互聯(lián),為企業(yè)保駕護(hù)航。

php redis設(shè)置時(shí)間的方法:1、取消生存時(shí)間,將鍵的生存時(shí)間設(shè)為永久,是PERSIST,代碼為【PERSIST session:captcha】;2、看一個(gè)鍵的生存時(shí)間用TTL命令,代碼為【TTL session:captcha】。

php redis設(shè)置時(shí)間的方法:

Redis對(duì)鍵提供生存時(shí)間,在不指定生存時(shí)間時(shí),生存時(shí)間是永久。時(shí)間到期后Redis會(huì)自動(dòng)刪除這個(gè)鍵??梢杂肊XPIRE命令,時(shí)間單位時(shí)秒,如果一個(gè)鍵是被設(shè)為有限的生存時(shí)間,那么在SET key進(jìn)行重新賦值的時(shí)候會(huì)被再次設(shè)為永久:

SET session:captcha sd2a
EXPIRE session:captcha 600

取消生存時(shí)間,將鍵的生存時(shí)間設(shè)為永久,是PERSIST:

PERSIST session:captcha

查看一個(gè)鍵的生存時(shí)間用TTL命令,-1表示永久或者以及到期被刪除。

TTL session:captcha

在Redis的INCR,LPUSH,HSET,ZREM等命令時(shí)不會(huì)改變生存時(shí)間的。

想要精確到毫米來控制時(shí)間,就需要PEXPIRE即可,使用PTTL查看剩余時(shí)間。

如果想要給定一個(gè)到期的時(shí)間而不是多少秒后到期呢?就需要EXPIREAT和PEXPIREAT。EXPIREAT的參數(shù)是到期時(shí)的時(shí)間戳(秒),PEXPIREAT的參數(shù)是到期時(shí)間是時(shí)間戳(毫秒)

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

應(yīng)用場景一:訪問頻率限制:我們限定每個(gè)用戶1分鐘只能瀏覽10個(gè)頁面。偽代碼如下:

$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
}

我們用了事務(wù)的原因是因?yàn)?,加入在?zhí)行了INCR limit:user1:192.168.1.2之后,在執(zhí)行EXPIRE limit:user1:192.168.1.2 60之前,客戶端被關(guān)閉了。那么這個(gè)鍵和值就會(huì)被持久化保存。且該ID終身只能訪問10次了。這就太糟糕了。

關(guān)于php redis設(shè)置時(shí)間的方法就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到。


新聞標(biāo)題:phpredis設(shè)置時(shí)間的方法
文章位置:http://weahome.cn/article/ihgpeh.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部