名字快取雪崩
快取穿透
快取擊穿
原因大面試快取失效
快取和資料庫都沒資料
快取沒資料,資料庫有資料
解決辦法
每個key失效時間加上隨機值
1.引數校驗 2.key對應value=null
1.永久快取 2.分布式鎖來解決
保證分布式鎖要以下原則:
1.互斥性。在任意時刻,只有乙個客戶端持有鎖。
2.不發生死鎖。持有鎖崩潰而未完成解鎖,後續客戶能加鎖。
3. 容錯性。redis節點正常執行,客戶端就可以加鎖解鎖。
4. 解鈴還須繫鈴人。加鎖和解鎖必須是同一客戶端。
型別rdb 持久化
aof持久化
方式指定時間間隔內將記憶體中資料集體快照寫入磁碟
以日誌形式記錄伺服器所有操作,以文字記錄
-redis sever—子程序–>rdb臨時檔案
redis clinet—傳送命令->redis server–同步命令->aof記錄檔案
優點1. 災難性故障,非常容易恢復 2. 單獨檔案輕易轉移其他儲存介質 3. 效能最大化,避免程序io操作 4. 如果資料集大,rdb啟動效率高
1.更加高的資料安全性 . 2.寫入過程中宕機,資料一致性 3. 日誌過大,宕機啟用rewirter保證資料安全 4. 易於理解
定時刪除
對記憶體友好,cpu不友好
惰性刪除
發現key值過期了,就刪除key
主從伺服器(主從伺服器,資料一致)
主伺服器負責寫請求, 從伺服器負責接收讀請求
Azure 高階版 Redis 如何持久化
為了保證redis cache資料安全,同時在伺服器故障時,能夠在重啟後進行資料恢復。redis 提供了兩種持久化方案 rdb和aof。rdb rdb持久化,快照是預設的持久化方式。這種方式是就是將記憶體中資料以快照的方式寫入到二進位制檔案中,預設的檔名為dump.rdb。可以通過配置設定自動做快照...
Redis高階高階(二)
一 訊息通知 在一些 上,經常會有一些發布 訂閱或者郵件訂閱的功能,尤其一些部落格上。其實這種問題很常見,當頁面需要進行如傳送郵件 複雜的計算時會阻塞頁面的渲染。為了避免使用者等待太久,應該使用其他程序單獨完成此類操作,這裡郵件訂閱可以用任務佇列來實現,具體來說,當需要傳送郵件時,將其存入佇列中,另...
redis高階命令
sort 命令 1 修飾符 desc 降序排列 2 允許元素按照字段序列排序 alpha 此時的排序相當於字串排序,數字轉化為字元 12 排在 2 的前面 3 可以指定避開某些元素,然後開始排序,並返回前n個,語法為 sort key skip count 比如 sort list 3 10 表示大...