redis
redis監控指標選擇
connected_clients:68 #連接的客戶端數量
used_memory_rss_human:847.62M
used_memory_peak_human:794.42M
total_connections_received:619104 #服務器已接受的連接請求數量
instantaneous_ops_per_sec:1159 #服務器每秒鐘執行的命令數量
instantaneous_input_kbps:55.85 #redis網絡入口kps
instantaneous_output_kbps:3553.89 #redis網絡出口kps
rejected_connections:0 #因爲最大客戶端數量限制而被拒絕的連接請求數量
expired_keys:0 #因爲過期而被自動刪除的數據庫鍵數量
evicted_keys:0 #因爲最大內存容量限制而被驅逐(evict)的鍵數量
keyspace_hits:0 #查找數據庫鍵成功的次數
keyspace_misses:0 #查找數據庫鍵失敗的次數
redis簡介
redis是一種支持Key-Value等多種數據結構的存儲系統。可用於緩存、事件發佈或訂閱、高速隊列等場景。該數據庫使用ANSI C語言編寫,支持網絡,提供字符串、哈希、列表、隊列、集合結構直接存取,基於內存,可持久化。
對象
場景
- 1、會話緩存(最常用)
- 2、消息隊列,比如支付
- 3、活動排行榜或計數
- 4、發佈、訂閱消息(消息通知)
- 5、商品列表、評論列表等
- https://www.cnblogs.com/rjzheng/p/9096228.html#!comments
數據結構
- 動態字符串
*
* vs string
* 常數時間獲取長度
* 杜絕字符串溢出
* 先檢查,在擴容,最後拼接
* 減少重新分配次數
* 預分配
* 惰性回收
* 二進制安全- 用途
- redis 字符串
- AOF緩衝區
- 客戶端輸入輸出緩衝
- 總結
- 用途
- 鏈表
- 結構
- 節點
- 節點持有
- 用途
- 列表底層實現之一
- 發佈訂閱
- 慢查詢
- 定時器
- 總結
- 結構
- 字典
- 用途
- 數據庫
- hash
- 實現
- hash表
- 節點
- hash表
- 總結
- 用途
- 跳躍表
- 概念
- 節點中維持到其它節點的指針,達到快速訪問
- 應用
- 有序集合的實現之一
- 結構
- 對比
- 組成
- 節點
- list
- 組成
- 對比
- 總結
- 概念
- 整數集合
- 應用
- 集合鍵實現之一
- 結構
* - 升級
- 升級
- 總結
- 應用
- 壓縮列表
- 應用
- 概念
- 組成
- 節點
- 組成
- 總結
- 對象
- 說明
- redis數據類型
- string
- 場景
- 轉換
- list
- 場景
- 子主題 1
- 子主題 2
- 轉換
- 子主題 1
- 場景
- hash
- 場景
- 組成
- 壓縮列表
- hashtable
- 組成
- 轉換
- 轉換
- 場景
- set
- 場景
- 組成
- 組成
- 組成
- 轉換
- 轉換
- 場景
- zsort(sort set)
- 場景
- 組成
*
- 組成
- 轉換
- 同時使用原因
- 結構
- 場景
- string
- 對象編碼
- 子主題 1
- 不同類型對象編碼
- 子主題 1
- 內存
- 引用計數
- 共享內存
- 總結
*
單機數據庫
數據庫
- 數據庫結構與切換
- 數據庫鍵空間
- 過期鍵
- 判定
- 刪除策略,redis採用惰性和定期
- 備份時
- rdb
- 不載入過期數據
- aof
- 沒被刪除正常複製,過期刪除時追加del命令
- 主從複製
- 刪除由主數據庫執行,並向所有數據庫發送顯示del
- rdb
- 備份時
- 通知
- 總結
rdb
- 簡介
- 創建載入
- 總結
aof
- 簡介
- 實現
- 追加
- 寫入策略
- 寫入
- 同步,AOF 緩衝區的作用:目的是維持主線程 AOF 文件的正常寫入,保證在重寫階段,AOF 文件寫入的邏輯不變。
AOF 重寫緩存區作用:目的是記錄 AOF 重寫開始之後的鍵增刪改的命令。
這兩個緩衝區缺一不可。具體原因如下:
AOF 緩衝區的內容會根據 appendfsync 策略的不同而不同,如果 appendfsync=always,那麼每次命令都會立即被刷入到磁盤裏,可能 AOF 緩存區就沒有數據。而 AOF 重寫緩存區一定是從重寫開始之後所有的鍵增刪改的命令。兩個緩衝區從存在意義上來看是完全不一樣的,前者側重於功能,後者更加側重於備份。- 過程
- 追加
- 總結
*
事件
- 文件事件
- 文件處理器
- 概念
- 組成
- 多路複用程序
- 文件處理器
- 時間事件
- 屬性
- 分類
- 定時事件
- 週期事件
- 執行
- 總結
*
客戶端
- 總結
*
服務端
- 總結
*
多機數據庫
複製
- 舊版
- 同步
- 步驟
- 命令傳播
- 主數據庫被修改導致不同步,主服務器會將不同步的命令就行傳播使主從一致
- 缺陷
- 斷線時恢復消耗大
- 同步
- 場景
* - 新版
*
* 新版流程- 部分同步
- 主從服務器複製偏移量
* - 複製緩衝區
- 實例
- 服務器運行id
*
- 主從服務器複製偏移量
- 部分同步
- 總結
*
sentinel
- 概念
- 管理集羣主服務器狀態,主服務下線時從中選主,實現高可用
- 監視
- 主數據庫,從數據庫,sentinel
- 監測主觀下線
* - 客觀下線
*
* 選舉leader sentinel
* 將自己的選舉人作爲選舉人推出,初始化時是自己,先到先得,循環選舉,得到半數以上者勝出
- 故障轉移
*
* 主服務器選舉
* 數據最新,優先級,複製偏移量,id大小 - 總結
*
集羣
- 基本命令
- cluster meet
- 節點
- cluster node
- cluster link
- cluster state
- cluster link
- cluster node
- 槽指派
*
*
* node
* state- 流程
- 重新分片
- 流程
- 複製和故障轉移
- 故障轉移
- 總結
*
獨立功能
發佈訂閱
慢查詢
監視器
*redis學習圖