新聞中心
Redis是一種高性能的數(shù)據(jù)庫(kù),最常用苦的地方是緩存和各種通過(guò)KEY-value存儲(chǔ)的應(yīng)用中。由于它的可擴(kuò)展性,很多公司用它來(lái)限制持續(xù)時(shí)間,特別是登錄。 Redis能夠使用其內(nèi)置的計(jì)時(shí)器,在登錄的持續(xù)時(shí)間結(jié)束之前,它可以發(fā)出警報(bào)或執(zhí)行一些動(dòng)作,以進(jìn)行斷開或重新連接。

目前成都創(chuàng)新互聯(lián)已為近千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、綿陽(yáng)服務(wù)器托管、企業(yè)網(wǎng)站設(shè)計(jì)、潢川網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
我們可以用Redis來(lái)存儲(chǔ)用戶信息,并分配一個(gè)唯一的key,作為識(shí)別用戶和授權(quán)登錄時(shí)使用。
例如,我們可以使用如下代碼:
SET key user_name
REDIS.SETEX key 60 user_name
這會(huì)存儲(chǔ)一個(gè)包含用戶名的key,并將其設(shè)置為60秒后過(guò)期。
接下來(lái),我們可以利用這個(gè)key來(lái)進(jìn)行檢查,看看用戶是否處于活動(dòng)狀態(tài)。如果key在60秒內(nèi)未嘗試重新連接,那么就可以確定改用戶的登錄失效,我們可以采用如下代碼:
GET key
如果返回的值為nil,那么就可以證明該用戶的登錄失效了,此時(shí)需要重新登錄。
另一個(gè)重要的優(yōu)點(diǎn)是,在Redis中存儲(chǔ)的key是永久的,可以保存用戶的登錄總時(shí)間。我們可以存儲(chǔ)多個(gè)key,用于表明用戶是否在某一時(shí)間段內(nèi)登錄并保持活動(dòng)狀態(tài)。例如,可以可以使用以下代碼模擬實(shí)現(xiàn):
EXPIRE key 300
EXPIREAT key 1577836801
INCR key
DECR key
以上代碼將用戶的key設(shè)置為300秒的超時(shí)時(shí)間,同時(shí)記錄用戶的登錄時(shí)間,以及登錄的次數(shù),這樣就可以對(duì)登錄的持續(xù)時(shí)間進(jìn)行計(jì)算限制了。但是需要注意,有時(shí)候由于使用了超時(shí)時(shí)間,可能會(huì)限制正常用戶的登錄,所以應(yīng)該用INCR和DECR函數(shù)來(lái)監(jiān)控用戶的登錄次數(shù)。
Redis可以很好地用來(lái)限制登錄的持續(xù)時(shí)間,可以使得登錄操作更安全。通過(guò)Redis提供的key計(jì)時(shí)特性,使得記錄用戶登錄的總時(shí)長(zhǎng)變得更加方便。通過(guò)添加EXPIRE和INCR/DECR函數(shù)來(lái)衡量用戶的活動(dòng)度,也可以防止登錄的超時(shí)限制所帶來(lái)的問(wèn)題。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
網(wǎng)頁(yè)題目:Redis用來(lái)限制登錄的持續(xù)時(shí)間(redis限制登錄時(shí)間)
文章鏈接:http://m.5511xx.com/article/cdpdjje.html


咨詢
建站咨詢
