redis开发与运维笔记
生活随笔
收集整理的這篇文章主要介紹了
redis开发与运维笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
redis學習筆記
-
執行流程 發送命令->命令排隊->命令執行->返回結果
-
string類型有三種實現方式 如果是值是int類型,那么底層用int實現,
短的字符串使用embstr:小于等于39byte,長的用raw實現:大于39byte -
哈希類型實現有兩種,當哈希類型的元素小于512并且size小于64byte時
使用ziplist實現,否則使用hashtable實現 -
列表類型也有兩種實現 第一種和哈希類型一樣,第二種是鏈表實現,3.2以后提供了quicklist來實現
-
集合使用intset 整數集合和hashtable實現 當元素全為int并且小于512個用前者
###典型使用場景
###遷移鍵
1.move move命令用于在redis內部進行數據遷移 move key db 2.dump key + restore key ttl valuedump+restore可以實現不同的redis實例之間進行數據遷移1) 在源redis上 dump會將鍵值序列化 格式采用rdb格式2)在目標redis上 restore命令將上面序列化的值進行復原 其中ttl表示過期時間ttl=0 表示沒有過期時間 3.migrate也是用于redis實例之間的數據遷移 實際就是將dump、restore和del命令進行組合###redis持久化
redis支持rdb和aof兩種持久化機制 1.rdb:rdb是將當前進程的數據生成快照保存到硬盤的過程,觸發rdb持久化有手動觸發和自動觸發。手動觸發分別對應sava和bgsava,前者會阻塞當前服務器,直到rdb完成 一般不使用bgsava會fork出一個子進程 rdb由子進程來完成 自動觸發1)進行sava設置 sava m n 表示m秒內數據在n次修改自動觸發bgsava2)在節點復制的時候回進行bgsava生成rdb文件并發送給從節點3)執行debug reload命令重載redis時也會觸發sava操作4)默認情況下執行shutdown命令 如果沒有開啟AOF持久化則會自動執行bgsava 2.aof:aof持久化是以獨立日志的方式記錄每一次寫命令,重啟時再執行aof文件的命令達到恢復數據的作用。開啟aof需要在配置文件中打開appendonly yes,默認文件名稱appenonly.aof隨著aof文件的變大,redis引入文件重寫機制來壓縮文件體積,也就是把redis進程內的數據轉化為寫命令同步到新的aof文件中新的aof文件之所以會變下,主要是因為舊的aof文件一些命令,比如del key1 、del key2 等無效的命令不會在保存然后還會將多條命令合并為一條命令 如:lpush list a、lpush list b等轉化為lpush list a bAOF重寫過程也分為手動和自動觸發 手動bgrewriteaof命令 自動需要在配置文件配置總結
以上是生活随笔為你收集整理的redis开发与运维笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: nios ii小实验——第一个demo指
- 下一篇: 电视百科常识 九大视频接口全接触