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