Redis 三 事務與持久化

2021-10-13 03:02:02 字數 680 閱讀 6951

redis 中的事務(transaction)是一組命令的集合,至少是兩個或兩個以上的命令, redis事務保證這些命令被執行時中間不會被任何其他操作打斷。

事務執行 exec 之前, 入隊命令錯誤(語法錯誤;嚴重錯誤導

致伺服器不能正常工作(例如記憶體不足)),放棄事務。

redis 的資料儲存在記憶體中,記憶體是瞬時的,如果 linux 宕機或重啟,又或者 redis 崩潰或重啟,所有的記憶體資料都會丟失,為解決這個問題, redis 提供兩種機制對資料進行持久化儲存,便於發生故障後能迅速恢復資料。

redis database(rdb),就是在指定的時間間隔內將記憶體中的資料集快照寫入磁碟,資料恢復時將快照檔案直接再讀到記憶體。

rdb 儲存了在某個時間點的資料集(全部資料)。儲存在乙個二進位制檔案中,只有乙個檔案。預設是 dump.rdb。 rdb 技術非常適合做備份,可以儲存最近乙個小時,一天,乙個月的全部資料。儲存資料是在單獨的程序中寫檔案,不影響 redis 的正常使用。 rdb 恢復資料時比其他 aof 速度快。

rdb 方式的資料持久化,僅需在 redis.conf 檔案中配置即可,預設配置是啟用的。在配置檔案 redis.conf 中搜尋 snapshotting,查詢在注釋開始和結束之間的關於 rdb的配置說明。配 snapshotting 置地方有三處:

dir :指定 rdb 和 aof 檔案存放的目錄,預設是 ./

Redis 事務 持久化

redis對事務的支援比較簡單,或者說它的事務是有缺陷的。它只能保證乙個client發起的事務中的命令可以連續執行,中間不會插入其它client端的命令。缺陷在於,如果乙個client將兩條命令放到乙個事務了,執行的時候第二條命令傳送錯誤,但此時redis的事務不會回滾第一條命令。如下圖 redis...

Redis(三) redis持久化

redis是支援資料持久化的,雖然在生產中經常被當做快取伺服器使用。redis持久化機制分為兩種 第一種是快照第二種是aof日誌。快照原理 前面redis基礎篇中提到,redis是單執行緒的,這個執行緒需要同時處理客戶端的請求和記憶體資料結構的邏輯讀寫,顯然難以在保持高效能的前提下完成這些工作。所以...

Redis持久化 問題定位與優化(三)

核心知識點 1.fork操作 a.在rdb或aof重寫時,會執行fork操作建立子程序,fork操作是乙個重量級操作。b.改善fork操作耗時的手段 避免使用xen 配置redis例項最大使用記憶體 合理配置liunx記憶體使用技術 降低fork操作的頻率。2.子程序開銷監控與優化 1 cpu 2 ...