更新時間:2020-11-30 來源:黑馬程序員 瀏覽量:
面試題:如何用redis緩存廣告數(shù)據(jù)?
(1)問題分析
考官主要考核redis的使用。
(2)核心答案講解
使用SpringDataRedis實現(xiàn)廣告數(shù)據(jù)的緩存,使用的hash類型操作,先獲取廣告列表對象,再將這個對象使用redisTemplate.boundHashOps("xxx").put("x", "xx")方法存入緩存,當廣告數(shù)據(jù)發(fā)生變更時,需要將緩存數(shù)據(jù)清除,使用redisTemplate.boundHashOps("xxx").delete("x", "xx")方法清除緩存,這樣再次查詢才能獲取最新的數(shù)據(jù),考慮到用戶可能會修改廣告的分類,需要把原分類的緩存和新分類的緩存都清除掉。
(3)問題擴展
我們目前的系統(tǒng)已經(jīng)實現(xiàn)了廣告后臺管理和廣告前臺展示,但是對于首頁每天有大量的人訪問,對數(shù)據(jù)庫造成很大的訪問壓力,甚至是癱瘓。那如何解決呢?我們通常的做法有兩種:一種是數(shù)據(jù)緩存、一種是網(wǎng)頁靜態(tài)化。
(4)結(jié)合項目中使用
現(xiàn)在我們首頁的廣告每次都是從數(shù)據(jù)庫讀取,這樣當網(wǎng)站訪問量達到高峰時段,對數(shù)據(jù)庫壓力很大,并且影響執(zhí)行效率。我們需要將這部分廣告數(shù)據(jù)緩存起來。
猜你喜歡:
Python開發(fā)面試題目:如何優(yōu)化數(shù)據(jù)庫?
2020-11-30Windows系統(tǒng)安裝Anaconda教程【圖文教程】
2020-11-30數(shù)據(jù)分析的流程是什么?如何做數(shù)據(jù)分析?
2020-11-30Python常用的數(shù)據(jù)分析庫有哪些?Python數(shù)據(jù)分析模塊介紹
2020-11-30為什么使用python做數(shù)據(jù)分析?Python做數(shù)據(jù)分析的好處
2020-11-30PyQT是什么?PyQt4和PyQt5的區(qū)別是什么?
2020-11-19