1啓動redis的3種方式
- 第2 3 種都可以·1通過改端口號來啓動多個redis服務端
1.1自動啓動
- redis-server
- redis-cli
1.2指定端口啓動
1.3指定配置文件啓動
- 配置文件
- 服務端啓動
- 客戶端連接
- 日誌部分
2持久化
2.1持久化簡介
2.2RDB
2.2.1save指令啓動
- 客戶端連接執行一下save命令 配置文件和上方一樣
- 根據配置文件的設定 在服務文件保存的目錄中生成rdb文件 這個文件中存放save命令所得到的快照 這個快照就是持久化的基本
2.3.1.1save相關的配置
2.2.1.2save指令原理
2.2.1.3save指令的缺陷
2.2.2bgsave指令啓動
2.2.2.1bgsave工作原理
2.2.2.2bgsave指令相關的配置
2.2.3配置文件啓動
2.2.3.1相關配置
2.2.3.2配置文件工作原理
2.2.4三種啓動方式的對比
2.2.5RDB特殊啓動方式
2.2.6RDB優點和缺點
2.3AOF
2.3.1基本操作
2.3.1.1寫數據過程
2.3.1.2寫數據策略
2.3.1.3AOF功能開啓
2.3.1.4AOF相關的配置
2.3.2重寫
2.3.2.1爲什麼需要重寫
2.3.2.2重寫概念和作用
2.3.2.3重寫規則
2.3.2.4重寫方式
- 自動重寫是在配置文件中寫入一下信息
- 而手動重寫是在客戶端輸入bgrewriteaof命令
2.3.3手動重寫原理
2.3.4自動重寫方式
2.3.5重寫流程
2.4 RDB和AOF區別
2.5RDB和AOF如何選擇
2.6 持久化應用場景
3事務
3.1什麼是事務
3.2事務的基本操作
3.2.1取消事務
3.2.2事務的基本流程
3.2.3事務的注意事項
3.3鎖
3.4分佈式鎖
3.4.1什麼是分佈式鎖
3.4.2死鎖的發生和解決
4刪除策略
4.1過期數據
- 數據刪除與否取決於配置文件的刪除策略
4.1.1時效數據的存儲結構
- 在每個庫中都有一個expires空間 ,這個空間存放這有時效性數據的key對應value的地址以及key的有效時間
4.2數據刪除策略
4.2.1定時刪除
4.2.2惰性刪除
- 每次當客戶端get任何數據都會調用expirelfNeeded()這個函數。這個函數可以判斷數據是否過期。如果過期刪除expires以及value的空間
4.2.3定期刪除
- 通過info指令可以在客戶端看到server.hz的值。server.hz的值表示秒執行serverCron()函數多少次。serverCron函數可以調用databaseCron對整個數據庫16個分庫的expires進行更新,而databaseCron函數調用activeExpireCycle函數對一個分庫一個分庫進行更新。
4.3.4三個策略的對比
- redis數據庫使用的是惰性刪除和定期刪除。
4.3逐出算法
4.3.1爲什麼需要數據的逐出
4.3.2數據逐出的相關配置
4.3.3數據逐出的八種策略
4.3.4數據逐出的配置的依據
5redis配置文件
5.1服務端設定
5.2日誌配置
5.3客戶端配置
5.4爲多個服務器配置文件配置相同部分
6高級數據類型
6.1Bitmaps
- Bitmaps 是一個以bit爲操作單位的數據類型 ,所以你取值時一定要知道value在key的偏移量
6.1.1基礎操作
6.1.2擴展操作
6.1.3應用場景
6.2 HyperLogLog
- 用於做基數統計
6.2.1什麼是基數
6.2.2LogLog算法
6.2.3基本操作
6.2.4注意事項
6.3CEO
- 存儲多個座標的數據結構
6.3.1基本操作