1. 程式人生 > 實用技巧 >這年代誰還開VIP電影啊,教你用Python爬取最愛的電影並下載到本地

這年代誰還開VIP電影啊,教你用Python爬取最愛的電影並下載到本地

1.Redis 持久化 有兩種方式: 快照---RDB檔案; 追加式檔案---AOF檔案(日誌記錄)
  • RDB 持久化方式會在一個特定的間隔儲存那個時間點的一個數據快照.
  • AOF 持久化方式則會記錄每一個伺服器收到的寫操作. 在服務啟動時, 這些記錄的操作會逐條執行從而重建出原來的資料. 寫操作命令記錄的格式跟 Redis 協議一致, 以追加的方式進行儲存.
  • Redis 的持久化是可以禁用的, 就是說你可以讓資料的生命週期只存在於伺服器的執行時間裡.
  • 兩種方式的持久化是可以同時存在的, 但是當 Redis 重啟時, AOF檔案會被優先用於重建資料.
注意:面試會問到 RDB 和AOF 如何適用範圍 可以從對資料完整性來說 RDB 儲存的資料不是那麼全 而 Aof 相對比較全 但耗效能 再從資料備份來說 RDB比較合適定時生成 RDB 快照非常便於進行資料庫備份,並且 RDB 恢復資料集的速度也要比 AOF 恢復的速度快。 當然了,Redis 支援同時開啟 RDB 和 AOF,系統重啟後,Redis 會優先使用 AOF 來恢復資料,這樣丟失的資料會最少。 2.RDB 工作原理: Redis 呼叫fork() 產生一個子程序 ,先把資料寫到一個臨時的RDB檔案中,當子程序寫完新的RDB檔案後 就把舊的RDB檔案直接替換掉。 2.1.檔案路徑和名稱: 預設快照檔案儲存在 當前目錄下一個名為dump.rdb的檔案. 要修改檔案的儲存路徑和名稱, 可以通過修改配置檔案 redis.conf實現: (我是在redis檔案目錄下建立了一個working目錄 用來儲存 .rdb)
# RDB檔名,預設為dump.rdb。
dbfilename dump.rdb
 
 
# 檔案存放的目錄,AOF檔案同樣存放在此目錄下。預設為當前工作目錄。
dir 
/usr/local/redis/working
2.2.儲存點(RDB的啟用和禁用) 都在redis.conf 檔案中 你可以配置儲存點, 使 Redis 如果在每 N 秒後資料發生了 M 次改變就儲存快照檔案. 例如下面這個儲存點配置表示每 60 秒, 如果資料發生了 1000 次以上的變動, Redis就會自動儲存快照檔案: save 60 1000 當然也可以儲存多個 redis.conf 配置檔案預設設定了 3個 如果想禁用快照儲存的功能, 可以通過註釋掉所有 "save" 配置達到,或者在最後一條 "save" 配置後新增如下的配置:
  save ""
3.AOF 快照並不是很可靠. 如果你的電腦突然宕機了, 或者電源斷了, 又或者不小心殺掉了程序, 那麼最新的資料就會丟失.而 AOF 檔案則提供了一種更為可靠的持久化方式. 每當 Redis 接受到會修改資料集的命令時, 就會把命令追加到 AOF 檔案裡, 當你重啟 Redis 時, AOF 裡的命令會被重新執行一次, 重建資料. 3.啟用AOF 把配置項appendonly設為yes:

3.1檔案路徑和名稱

# 檔案存放目錄,與RDB共用。預設為當前工作目錄。
dir /usr/local/redis/working
 
 
# 預設檔名為appendonly.aof
appendfilename "appendonly.aof"
3.2可靠性 你可以配置 Redis 呼叫fsync的頻率, 有三個選項:
  • 每當有新命令追加到 AOF 的時候呼叫fsync. 速度最慢, 最安全.
  • 每秒fsync一次. 速度快 (2.4版本跟快照方式速度差不多), 安全性不錯 (最多丟失 1 秒的資料).
  • 從不fsync, 交由系統去處理. 這個方式速度最快, 但是安全性一般.
推薦使用每秒 fsync 一次的方式 (預設的方式), 因為它速度快, 安全性也不錯. 相關配置如下:
# appendfsync always
appendfsync everysec
# appendfsync no

3.3 AOF 重寫 簡單來說 當.aof 到達設定的值大小後 會重寫日誌 其實就是精簡 可以理解為 本來有100記錄 重寫後 就只有50條了。