RDB與AOF簡介 RDB 是什麼? RDB 是什麼? 是什麼? ...
- Java連接VMware的Redis:ping()返回PONG
- 要可以ping通VMware地址
- 埠號要正確、預設6379
- VMware中的防火牆原因、需添加6379埠號的防火牆:
- vim /etc/sysconfig/iptables
- 進入之後 按 I 插入一行 -A INPUT -m state --state NEW -m tcp -p tcp --dport 6379 -j ACCEPT
- 按 ESC 輸入 :wq 退出.然後重啟服務 service iptables restart
- #註釋掉redis.conf中的 bind 127.0.0.1
- 以上全部完成如果報:DENIED等一大堆錯誤,就是說要設置密碼,最簡單就是把redis.conf中 protected-mode yes 改為no
- 完成以上內容就可以jedis.ping()返回PONG了.
- Redis設置密碼
- CONFIG SET requirepass "123456" 這裡把密碼設置成了 123456
- 需要jedis連接時,需要輸入jedis.auth("123456")
- Redis事務
- discard 放棄事務. exec 執行. multi 開啟.unwatch 取消監控. watch 監控.
- 正常執行:multi ,入隊,exec執行
- 放棄事務:multi ,入隊,discard取消
- 全體連坐:multi ,入隊時報錯,exec時全部掛掉
- 冤頭債主:multi ,入隊時不報錯,exec時互不影響
- watch監控:CAS(Check And Set),watch [key]監控一個或多個key,事務執行之前做過key有改動,事務被打斷,unwatch取消watch監控的所有key
- RDB與AOF(優先載入AOF)
- RDB(Redis DataBase)(dump.rdb)
- 是什麼:能夠在指定的時間間隔對你的數據進行快照儲存,保存RDB文件時,父進程fork一個子進程,接下來的工作全部由子進程來做,可以最大化Redis性能
- save格式:save 秒數 改變次數
- 三種保存方式,會產生rdb文件
- save命令保存,只保存數據,其他的阻塞
- bgsave命令保存,非同步保存,保存數據的同時也可以做其他工作
- flushall也可以保存,但是數據是空,無意義
- 如何恢復:將備份文件(dump.rdb)移動到redis安裝目錄並啟動服務即可
- 優勢:速度快,適合對大規模數據恢復,對數據完整性和一致性要求不高
- 劣勢:記憶體中被克隆了一份,占空間;在一定間隔時間做一次備份,如果意外down掉的話,就會丟失最後一次的所有修改
- AOF(Append Only File)(appendonly.aof)
- 是什麼:以日誌形式來追加記錄每一個寫操作,恢復需要根據日誌文件的命令從頭到尾執行一次
- appendfsync 同步方式
- 修改同步always:同步持久化,每次發生改變都會寫入磁碟,性能差,完整性好
- 每秒同步everysec:預設,非同步操作,如果一秒內宕機,有數據丟失
- 不同步no:關閉
- 啟動、修複、恢復
- 啟動:修改預設appendonly no 改為 yes
- 修複:Redis-check-aof --fix進行修複
- 恢復:重啟Redis然後重新載入
- 優勢:可以靈活設置同步方式修改同步,每秒同步,不同步
- 劣勢:相同數據aof要遠大於rdb文件,恢復速度慢與rdb,aof運行效率要慢於rdb,每秒同步策略效率較好,不同步效率和rdb相同
- RDB(Redis DataBase)(dump.rdb)