如果項(xiàng)目中業(yè)務(wù)需求對(duì)數(shù)據(jù)庫進(jìn)行高并發(fā)的讀寫、海量數(shù)據(jù)高效的訪問以及存儲(chǔ)、對(duì)數(shù)據(jù)庫有著較高的擴(kuò)展性、高可用性要求都可以優(yōu)先考慮使用Redis。
目前Redis憑借其優(yōu)秀的讀寫性能、支持?jǐn)?shù)據(jù)的持久化、豐富的數(shù)據(jù)類型、諸多便利的特性以及服務(wù)器端的良好擴(kuò)展并易于運(yùn)維,在NoSql陣營(yíng)中脫穎而出,成為了一顆閃耀之星!深受開發(fā)人員以及企業(yè)的青睞,已經(jīng)成為后臺(tái)開發(fā)人員武器庫中必不可缺的技術(shù)之一。
接下來結(jié)合其特性談?wù)凴edis適用的業(yè)務(wù)場(chǎng)景有哪些:
數(shù)據(jù)緩存:這是NoSql技術(shù)相對(duì)傳統(tǒng)的關(guān)系型數(shù)據(jù)庫來說最具備優(yōu)勢(shì)的一個(gè)領(lǐng)域,對(duì)于一些讀取非常頻繁的數(shù)據(jù)完全可以放到Redis提供給系統(tǒng)功能訪問。例如:token信息、用戶身份信息(唯一性驗(yàn)證)、高頻緩存數(shù)據(jù)(坐標(biāo)、位置、地理信息)、短信驗(yàn)證碼、搜索關(guān)鍵字、訂單信息等都可以使用Redis進(jìn)行存儲(chǔ)。
統(tǒng)計(jì):在項(xiàng)目中我們經(jīng)常會(huì)遇到一些需要記錄與統(tǒng)計(jì)某項(xiàng)的數(shù)據(jù),此類數(shù)據(jù)一般都非常龐大,如果存放在數(shù)據(jù)庫中可以滿足我們的需求,但是得不償失、非常不劃算!例如:文章閱讀統(tǒng)計(jì)、排行榜、網(wǎng)站計(jì)數(shù)器、投票、作品點(diǎn)贊量等等。
記錄關(guān)系:目前非常流行的短視頻平臺(tái),例如抖音、快手等用戶關(guān)注、被關(guān)注、相同關(guān)注等均可以使用Redis來進(jìn)行存儲(chǔ)簡(jiǎn)單而明了,避免了數(shù)據(jù)庫中數(shù)據(jù)的冗余與訪問、存儲(chǔ)壓力!
總結(jié)一下:無論是關(guān)系型數(shù)據(jù)庫,還是Nosql數(shù)據(jù)庫都有著各自的優(yōu)勢(shì)以及適用的場(chǎng)景,在項(xiàng)目中要合理的設(shè)計(jì)、分配它們所扮演的角色,通過它們之間的緊密合作在項(xiàng)目中發(fā)揮其最大的優(yōu)勢(shì)!