Redis是一種支持Key-Value等多種數(shù)據(jù)結(jié)構(gòu)的內(nèi)存 數(shù)據(jù)庫(kù) ??捎糜诰彺?、事件發(fā)布或訂閱、高速隊(duì)列等場(chǎng)景。該數(shù)據(jù)庫(kù)使用ANSI C語(yǔ)言編寫(xiě),支持網(wǎng)絡(luò),提供字符串、哈希、列表、隊(duì)列、集合結(jié)構(gòu)直接存取,基于內(nèi)存,可持久化。有關(guān)Redis的詳細(xì)信息,請(qǐng)?jiān)L問(wèn)Redis官方網(wǎng)站https:// redis .io/。
Redis應(yīng)用場(chǎng)景
很多大型電商網(wǎng)站、 視頻直播 和游戲應(yīng)用等,存在大規(guī)模數(shù)據(jù)訪(fǎng)問(wèn),對(duì)數(shù)據(jù)查詢(xún)效率要求高,且數(shù)據(jù)結(jié)構(gòu)簡(jiǎn)單,不涉及太多關(guān)聯(lián)查詢(xún)。這種場(chǎng)景使用Redis,在速度上對(duì)傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)有很大優(yōu)勢(shì),能夠有效減少數(shù)據(jù)庫(kù)磁盤(pán)IO,提高數(shù)據(jù)查詢(xún)效率,減輕管理維護(hù)工作量,降低數(shù)據(jù)庫(kù)存儲(chǔ)成本。Redis對(duì)傳統(tǒng)磁盤(pán)數(shù)據(jù)庫(kù)是一個(gè)重要的補(bǔ)充,成為了互聯(lián)網(wǎng)應(yīng)用,尤其是支持高并發(fā)訪(fǎng)問(wèn)的互聯(lián)網(wǎng)應(yīng)用必不可少的基礎(chǔ)服務(wù)之一。
以下舉幾個(gè)典型樣例:
(電商網(wǎng)站)秒殺搶購(gòu)
電商網(wǎng)站的商品類(lèi)目、推薦系統(tǒng)以及秒殺搶購(gòu)活動(dòng),適宜使用Redis緩存數(shù)據(jù)庫(kù)。
例如秒殺搶購(gòu)活動(dòng),并發(fā)高,對(duì)于傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)來(lái)說(shuō)訪(fǎng)問(wèn)壓力大,需要較高的硬件配置(如磁盤(pán)IO)支撐。Redis數(shù)據(jù)庫(kù),單節(jié)點(diǎn)QPS支撐能達(dá)到10萬(wàn),輕松應(yīng)對(duì)秒殺并發(fā)。實(shí)現(xiàn)秒殺和數(shù)據(jù)加鎖的命令簡(jiǎn)單,使用SET、GET、DEL、RPUSH等命令即可。
加鎖部分,可參考最佳實(shí)踐:使用DCS實(shí)現(xiàn)分布式鎖
(視頻直播)消息彈幕
直播間的在線(xiàn)用戶(hù)列表,禮物排行榜,彈幕消息等信息,都適合使用Redis中的SortedSet結(jié)構(gòu)進(jìn)行存儲(chǔ)。
例如彈幕消息,可使用ZREVRANGEBYSCORE排序返回,在Redis5.0中,新增了zpopmax,zpopmin命令,更加方便消息處理。
(游戲應(yīng)用)游戲排行榜
在線(xiàn)游戲一般涉及排行榜實(shí)時(shí)展現(xiàn),比如列出當(dāng)前得分最高的10個(gè)用戶(hù)。使用Redis的有序集合存儲(chǔ)用戶(hù)排行榜非常合適,有序集合使用非常簡(jiǎn)單,提供多達(dá)20個(gè)操作集合的命令。
可參考最佳實(shí)踐:使用DCS實(shí)現(xiàn)排行榜功能
(社交APP)返回最新評(píng)論/回復(fù)
在web類(lèi)應(yīng)用中,常有“最新評(píng)論”之類(lèi)的查詢(xún),如果使用關(guān)系型數(shù)據(jù)庫(kù),往往涉及到按評(píng)論時(shí)間逆排序,隨著評(píng)論越來(lái)越多,排序效率越來(lái)越低,且并發(fā)頻繁。
使用Redis的List(鏈表),例如存儲(chǔ)最新1000條評(píng)論,當(dāng)請(qǐng)求的評(píng)論數(shù)在這個(gè)范圍,就不需要訪(fǎng)問(wèn)磁盤(pán)數(shù)據(jù)庫(kù),直接從緩存中返回,減少數(shù)據(jù)庫(kù)壓力的同時(shí),提升APP的響應(yīng)速度。
最新文章
- Redis修改開(kāi)源協(xié)議_新版Redis不再“開(kāi)源”_Redis協(xié)議變更
- Redis鏡像下載
- Redis有什么作用_數(shù)據(jù)緩存_華為云Redis-華為云
- 分布式緩存Redis實(shí)戰(zhàn)_Redis技術(shù)實(shí)戰(zhàn)_分布式緩存-華為云
- 企業(yè)級(jí)redis_數(shù)據(jù)庫(kù)免費(fèi)嗎_鍵值數(shù)據(jù)庫(kù)_GeminiDB Redis接口
- GeminiDB Redis接口_鍵值數(shù)據(jù)庫(kù)_企業(yè)級(jí)Redis_什么是KV數(shù)據(jù)庫(kù)