日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

redis 数据完整性

發布時間:2025/3/21 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 redis 数据完整性 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

redis為保證數據的完整性、故障恢復, 提供了多種方式; 這多種方式可以組合使用。


回寫:

0)redis命令, 主動回寫磁盤

-----save: 同步回寫,阻塞所有后續讀寫請求, 直至save操作完成。 數據量大時可能假死很長時間。

-----bgsave: 異步回寫,主進程fork子進程, 子進程復制了主進程的內存地址空間;子進程回寫磁盤、寫完自動退出。 數據量大時仍然比較耗時, 而且需要占用一倍的內存空間。

ps, 這是單機版。。。



數據持久化:

1) RDB。? snapshot方式。 redis按照規則達到一定條件時,fork出子進程, 子進程復制了redis server的完整內存空間。? 子進程將內存數據全量保存到磁盤上。 但兩次快照之間的會丟掉。 類似于bgsave

2)AOF。 類似于mysql的binlog, redis將每條寫命令都append到AOF文件中。



replication:

4)? Master--Slave。 redis的Master和Slave之間有一套交互協議,Slave連上Master后發送SYNC, Master fork子進程復制全量數據發送給Slave、并將這段以及后續的寫命令發給Slave; Slave據此重構出數據。? Slave每次重連Master, 都會導致一個全量拷貝、傳輸。

只需要在A上用slaveof B 即可; B就是A的master了。



因此,較理想的架構就是

Master-------Slave;

Master上關閉RDB/AOF等; Slave上開啟RDB/AOF。? 恢復時AOF的優先級比RDB高。

為解決Master的單點, 可以主動同時寫多個Master。

presharding在線給redis擴容。 需要在低峰時段或者短暫停服。




http://blog.chinaunix.net/uid-20682890-id-3603246.html

http://www.cnblogs.com/stephen-liu74/archive/2012/02/23/2364717.html

http://in.sdo.com/?p=1187

總結

以上是生活随笔為你收集整理的redis 数据完整性的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。