新聞中心
上限

創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括寧陽(yáng)網(wǎng)站建設(shè)、寧陽(yáng)網(wǎng)站制作、寧陽(yáng)網(wǎng)頁(yè)制作以及寧陽(yáng)網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,寧陽(yáng)網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到寧陽(yáng)省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
Redis是當(dāng)下最為流行的內(nèi)存數(shù)據(jù)庫(kù),不但性能表現(xiàn)出色,而且其支持的數(shù)據(jù)結(jié)構(gòu)符合眾多的場(chǎng)景需求。其中,基于incr和incrby等命令可以方便實(shí)現(xiàn)簡(jiǎn)單的計(jì)數(shù)器功能。但是有時(shí)會(huì)遇到需要對(duì)次數(shù)設(shè)定上限,通過(guò)這種方式來(lái)限制用戶可以進(jìn)行有關(guān)操作的次數(shù)。比如,一個(gè)網(wǎng)頁(yè)可能會(huì)設(shè)定允許某個(gè)操作的次數(shù)不能超過(guò)100次/小時(shí),在Redis中如何實(shí)現(xiàn)這個(gè)功能呢?
一種實(shí)現(xiàn)方式是先記錄當(dāng)前執(zhí)行操作的次數(shù),再定期清空該記錄并將其刷新。這樣做的好處是不用頻繁刪除對(duì)應(yīng)的key,也能在次數(shù)上限的時(shí)間內(nèi)統(tǒng)計(jì)用戶的操作次數(shù)。我們先設(shè)置一個(gè)專門(mén)用于記錄次數(shù)的key,例如我們用“day_max_times”來(lái)表示每天可以執(zhí)行此操作的次數(shù)上限:
127.0.0.1:6379> SET day_max_times 100
OK
每次執(zhí)行操作之前,我們都可以先進(jìn)行相關(guān)校驗(yàn):
127.0.0.1:6379> INCR times
(integer) 1
127.0.0.1:6379> GET day_max_times
"100"
127.0.0.1:6379> GET times
"1"
此時(shí),我們可以通過(guò)比較times和day_max_times獲取次數(shù)是否超標(biāo),如果times >= day_max_times,則表明當(dāng)天執(zhí)行次數(shù)已經(jīng)達(dá)到了限制要求,如果否,則可以繼續(xù)執(zhí)行相應(yīng)的操作。
上述這種無(wú)需維護(hù)key的方案可以較好的實(shí)現(xiàn)次數(shù)上限功能,不過(guò)這種方案也存在一些問(wèn)題,比如如果用戶之前執(zhí)行次數(shù)就大于次數(shù)上限,則達(dá)到次數(shù)上限會(huì)被混淆。為了解決此種情況,可以采用以下的方案:
1.使用incr向指定的key中追加一個(gè)計(jì)數(shù);
2.使用expire設(shè)置該key的有效期;
3.使用ttl檢查該key的過(guò)期時(shí)間,如果超出,則拒絕該請(qǐng)求,若沒(méi)有,則讓其繼續(xù)執(zhí)行操作。
以上就是如何通過(guò)Redis設(shè)定次數(shù)上限的方法,合理運(yùn)用Redis可以實(shí)現(xiàn)復(fù)雜的業(yè)務(wù)需求,比如設(shè)定秒殺次數(shù)上限等應(yīng)用。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開(kāi)通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過(guò)10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開(kāi)發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
本文名稱:在Redis中如何設(shè)定次數(shù)(redis里怎么設(shè)置次數(shù))
文章分享:http://www.dlmjj.cn/article/dhsiici.html


咨詢
建站咨詢
