欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

redis一般運(yùn)用場(chǎng)景有哪些-創(chuàng)新互聯(lián)

今天小編給大家分享的是redis一般運(yùn)用場(chǎng)景有哪些,相信很多人都不太了解,為了讓大家更加了解redis,所以給大家總結(jié)了以下內(nèi)容,一起往下看吧。一定會(huì)有所收獲的哦。

成都創(chuàng)新互聯(lián)始終堅(jiān)持【策劃先行,效果至上】的經(jīng)營理念,通過多達(dá)10余年累計(jì)超上千家客戶的網(wǎng)站建設(shè)總結(jié)了一套系統(tǒng)有效的全網(wǎng)推廣解決方案,現(xiàn)已廣泛運(yùn)用于各行各業(yè)的客戶,其中包括:假山制作等企業(yè),備受客戶贊許。

1、熱點(diǎn)數(shù)據(jù)的緩存

由于redis訪問速度塊、支持的數(shù)據(jù)類型比較豐富,所以redis很適合用來存儲(chǔ)熱點(diǎn)數(shù)據(jù),另外結(jié)合expire,我們可以設(shè)置過期時(shí)間然后再進(jìn)行緩存更新操作,這個(gè)功能最為常見,我們幾乎所有的項(xiàng)目都有所運(yùn)用。

2、限時(shí)業(yè)務(wù)的運(yùn)用

redis中可以使用expire命令設(shè)置一個(gè)鍵的生存時(shí)間,到時(shí)間后redis會(huì)刪除它。利用這一特性可以運(yùn)用在限時(shí)的優(yōu)惠活動(dòng)信息、手機(jī)驗(yàn)證碼等業(yè)務(wù)場(chǎng)景。

3、計(jì)數(shù)器相關(guān)問題

redis由于incrby命令可以實(shí)現(xiàn)原子性的遞增,所以可以運(yùn)用于高并發(fā)的秒殺活動(dòng)、分布式序列號(hào)的生成、具體業(yè)務(wù)還體現(xiàn)在比如限制一個(gè)手機(jī)號(hào)發(fā)多少條短信、一個(gè)接口一分鐘限制多少請(qǐng)求、一個(gè)接口一天限制調(diào)用多少次等等。

4、排行榜相關(guān)問題

關(guān)系型數(shù)據(jù)庫在排行榜方面查詢速度普遍偏慢,所以可以借助redis的SortedSet進(jìn)行熱點(diǎn)數(shù)據(jù)的排序。

在奶茶活動(dòng)中,我們需要展示各個(gè)部門的點(diǎn)贊排行榜, 所以我針對(duì)每個(gè)部門做了一個(gè)SortedSet,然后以用戶的openid作為上面的username,以用戶的點(diǎn)贊數(shù)作為上面的score, 然后針對(duì)每個(gè)用戶做一個(gè)hash,通過zrangebyscore就可以按照點(diǎn)贊數(shù)獲取排行榜,然后再根據(jù)username獲取用戶的hash信息,這個(gè)當(dāng)時(shí)在實(shí)際運(yùn)用中性能體驗(yàn)也蠻不錯(cuò)的。

redis一般運(yùn)用場(chǎng)景有哪些

 5、分布式鎖

這個(gè)主要利用redis的setnx命令進(jìn)行,setnx:"set if not exists"就是如果不存在則成功設(shè)置緩存同時(shí)返回1,否則返回0 ,這個(gè)特性在俞你奔遠(yuǎn)方的后臺(tái)中有所運(yùn)用,因?yàn)槲覀兎?wù)器是集群的,定時(shí)任務(wù)可能在兩臺(tái)機(jī)器上都會(huì)運(yùn)行,所以在定時(shí)任務(wù)中首先 通過setnx設(shè)置一個(gè)lock,如果成功設(shè)置則執(zhí)行,如果沒有成功設(shè)置,則表明該定時(shí)任務(wù)已執(zhí)行。 當(dāng)然結(jié)合具體業(yè)務(wù),我們可以給這個(gè)lock加一個(gè)過期時(shí)間,比如說30分鐘執(zhí)行一次的定時(shí)任務(wù),那么這個(gè)過期時(shí)間設(shè)置為小于30分鐘的一個(gè)時(shí)間 就可以,這個(gè)與定時(shí)任務(wù)的周期以及定時(shí)任務(wù)執(zhí)行消耗時(shí)間相關(guān)。

當(dāng)然我們可以將這個(gè)特性運(yùn)用于其他需要分布式鎖的場(chǎng)景中,結(jié)合過期時(shí)間主要是防止死鎖的出現(xiàn)。

6、延時(shí)操作

這個(gè)目前我做過相關(guān)測(cè)試,但是還沒有運(yùn)用到我們的實(shí)際項(xiàng)目中,下面我舉個(gè)該特性的應(yīng)用場(chǎng)景。 比如在訂單生產(chǎn)后我們占用了庫存,10分鐘后去檢驗(yàn)用戶是夠真正購買,如果沒有購買將該單據(jù)設(shè)置無效,同時(shí)還原庫存。 由于redis自2.8.0之后版本提供Keyspace Notifications功能,允許客戶訂閱Pub/Sub頻道,以便以某種方式接收影響Redis數(shù)據(jù)集的事件。 所以我們對(duì)于上面的需求就可以用以下解決方案,我們?cè)谟唵紊a(chǎn)時(shí),設(shè)置一個(gè)key,同時(shí)設(shè)置10分鐘后過期, 我們?cè)诤笈_(tái)實(shí)現(xiàn)一個(gè)監(jiān)聽器,監(jiān)聽key的實(shí)效,監(jiān)聽到key失效時(shí)將后續(xù)邏輯加上。 當(dāng)然我們也可以利用rabbitmq、activemq等消息中間件的延遲隊(duì)列服務(wù)實(shí)現(xiàn)該需求。

7、分頁、模糊搜索

redis的set集合中提供了一個(gè)zrangebylex方法,語法如下:

ZRANGEBYLEX key min max [LIMIT offset count]

通過ZRANGEBYLEX zset - + LIMIT 0 10 可以進(jìn)行分頁數(shù)據(jù)查詢,其中- +表示獲取全部數(shù)據(jù)

zrangebylex key min max 這個(gè)就可以返回字典區(qū)間的數(shù)據(jù),利用這個(gè)特性可以進(jìn)行模糊查詢功能,這個(gè)也是目前我在redis中發(fā)現(xiàn)的唯一一個(gè)支持對(duì)存儲(chǔ)內(nèi)容進(jìn)行模糊查詢的特性。

前幾天我通過這個(gè)特性,對(duì)學(xué)校數(shù)據(jù)進(jìn)行了模擬測(cè)試,學(xué)校數(shù)據(jù)60萬左右,響應(yīng)時(shí)間在700ms左右,比mysql的like查詢稍微快一點(diǎn),但是由于它可以避免大量的數(shù)據(jù)庫io操作,所以總體還是比直接mysql查詢更利于系統(tǒng)的性能保障。

8、點(diǎn)贊、好友等相互關(guān)系的存儲(chǔ)

Redis set對(duì)外提供的功能與list類似是一個(gè)列表的功能,特殊之處在于set是可以自動(dòng)排重的,當(dāng)你需要存儲(chǔ)一個(gè)列表數(shù)據(jù),又不希望出現(xiàn)重復(fù)數(shù)據(jù)時(shí),set是一個(gè)很好的選擇,并且set提供了判斷某個(gè)成員是否在一個(gè)set集合內(nèi)的重要接口,這個(gè)也是list所不能提供的。 又或者在微博應(yīng)用中,每個(gè)用戶關(guān)注的人存在一個(gè)集合中,就很容易實(shí)現(xiàn)求兩個(gè)人的共同好友功能。

這個(gè)在奶茶活動(dòng)中有運(yùn)用,就是利用set存儲(chǔ)用戶之間的點(diǎn)贊關(guān)聯(lián)的,另外在點(diǎn)贊前判斷是否點(diǎn)贊過就利用了sismember方法,當(dāng)時(shí)這個(gè)接口的響應(yīng)時(shí)間控制在10毫秒內(nèi),十分高效。

9、隊(duì)列

由于redis有l(wèi)ist push和list pop這樣的命令,所以能夠很方便的執(zhí)行隊(duì)列操作。

關(guān)于redis一般運(yùn)用場(chǎng)景有哪些就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的參考價(jià)值,可以學(xué)以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

網(wǎng)頁名稱:redis一般運(yùn)用場(chǎng)景有哪些-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://chinadenli.net/article40/dggjeo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、服務(wù)器托管、網(wǎng)站營銷云服務(wù)器、App開發(fā)網(wǎng)頁設(shè)計(jì)公司

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都做網(wǎng)站