首頁(yè)技術(shù)文章正文

如何用redis緩存廣告數(shù)據(jù)?【Python面試題】

更新時(shí)間:2020-11-30 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


面試題:如何用redis緩存廣告數(shù)據(jù)?
(1)問題分析

考官主要考核redis的使用。


(2)核心答案講解

使用SpringDataRedis實(shí)現(xiàn)廣告數(shù)據(jù)的緩存,使用的hash類型操作,先獲取廣告列表對(duì)象,再將這個(gè)對(duì)象使用redisTemplate.boundHashOps("xxx").put("x", "xx")方法存入緩存,當(dāng)廣告數(shù)據(jù)發(fā)生變更時(shí),需要將緩存數(shù)據(jù)清除,使用redisTemplate.boundHashOps("xxx").delete("x", "xx")方法清除緩存,這樣再次查詢才能獲取最新的數(shù)據(jù),考慮到用戶可能會(huì)修改廣告的分類,需要把原分類的緩存和新分類的緩存都清除掉。


(3)問題擴(kuò)展

我們目前的系統(tǒng)已經(jīng)實(shí)現(xiàn)了廣告后臺(tái)管理和廣告前臺(tái)展示,但是對(duì)于首頁(yè)每天有大量的人訪問,對(duì)數(shù)據(jù)庫(kù)造成很大的訪問壓力,甚至是癱瘓。那如何解決呢?我們通常的做法有兩種:一種是數(shù)據(jù)緩存、一種是網(wǎng)頁(yè)靜態(tài)化。


(4)結(jié)合項(xiàng)目中使用

現(xiàn)在我們首頁(yè)的廣告每次都是從數(shù)據(jù)庫(kù)讀取,這樣當(dāng)網(wǎng)站訪問量達(dá)到高峰時(shí)段,對(duì)數(shù)據(jù)庫(kù)壓力很大,并且影響執(zhí)行效率。我們需要將這部分廣告數(shù)據(jù)緩存起來(lái)。


猜你喜歡:

如何實(shí)現(xiàn)計(jì)算機(jī)多任務(wù)運(yùn)行? 

多線程爬蟲是什么?多線程爬蟲流程分析 

卡方檢驗(yàn)是什么?有什么用? 

黑馬程序員Python+數(shù)據(jù)分析課程


分享到:
在線咨詢 我要報(bào)名
和我們?cè)诰€交談!