redis緩存知識點:
一、緩存穿透
緩存穿透是指查詢一個緩存和數據庫中都沒有的數據,由于大部分緩存策略是被動加載的,并且出于容錯考慮,如果從存儲層查不到數據則不寫入緩存,這將導致這個不存在的數據每次請求都要到存儲層去查詢,失去了緩存的意義。用戶不斷發起請求,在流量大時,就可能對DB形成巨大的壓力,利用不存在的key頻繁攻擊應用也是很大的問題。
二、緩存擊穿
緩存擊穿是指緩存中的一個熱點Key(比如一個秒殺商品),在某個時間點過期的時候,恰好在這個時間點訪問量劇增,對這個Key有大量的并發請求過來,請求發現緩存過期一般都會從后端DB加載數據并回設回緩存,但就在緩存中的數據還沒有完全從DB中加載過來的這個時間段期間,并發瞬間造成大量請求直接擊穿到DB,對DB形成巨大壓力。
緩存擊穿,又叫熱點key問題,是這三個問題中最經典的一個問題。
三、緩存雪崩
緩存雪崩,是指緩存中設置了大批量相同過期時間的數據同時過期失效,而在這一刻訪問量劇增,緩存近乎失效,所有請求全部轉向DB,DB瞬時壓力過重雪崩,甚至down機。和緩存擊穿不同的是,緩存擊穿指并發查同一條數據,緩存雪崩是不同數據都過期了,很多數據都查不到從而查數據庫。
對于redis緩存我們的程序中會經常用到,有時候我們改變了部分功能,要是進行查看效果的話就要把原來的緩存清除掉,針對redis如何進行清理緩存,下面小編就給大家介紹兩種方法
對于redis的各種配置,我這里就不多講了,我們運行redis看是否正常
我們清除緩存的時候最好關閉redis,打開redis的安裝路徑,找到redis-cli.exe
雙擊redis-cli.exe,彈出redis-cli的對話框,輸入host和密碼
在上面的對話框里執行dbsize命令
然后執行flushall命令就可以了
其實還有一種更加直接的方式,我們找到安裝目錄
其實redis的緩存主要是存儲在dump.rdb這個文件中的,我們只需要把這個文件刪除掉就可以了,然后根據需要可以重新啟動一下就可以
新聞熱點
疑難解答