久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

redis問題接囧辦法及經(jīng)驗(yàn)

 Frank__Library 2016-02-24

1,、redis持久化,,來自官方說明

如何選擇使用哪種持久化方式?

一般來說,, 如果想達(dá)到足以媲美 PostgreSQL 的數(shù)據(jù)安全性,, 你應(yīng)該同時(shí)使用兩種持久化功能。

如果你非常關(guān)心你的數(shù)據(jù),, 但仍然可以承受數(shù)分鐘以內(nèi)的數(shù)據(jù)丟失,, 那么你可以只使用 RDB 持久化。

有很多用戶都只使用 AOF 持久化,, 但我們并不推薦這種方式: 因?yàn)槎〞r(shí)生成 RDB 快照(snapshot)非常便于進(jìn)行數(shù)據(jù)庫(kù)備份,, 并且 RDB 恢復(fù)數(shù)據(jù)集的速度也要比 AOF 恢復(fù)的速度要快, 除此之外,, 使用 RDB 還可以避免之前提到的 AOF 程序的 bug ,。

Note: 因?yàn)橐陨咸岬降姆N種原因, 未來我們可能會(huì)將 AOF 和 RDB 整合成單個(gè)持久化模型,。 (這是一個(gè)長(zhǎng)期計(jì)劃,。)

接下來的幾個(gè)小節(jié)將介紹 RDB 和 AOF 的更多細(xì)節(jié)。

快照

在默認(rèn)情況下,, Redis 將數(shù)據(jù)庫(kù)快照保存在名字為 dump.rdb的二進(jìn)制文件中,。你可以對(duì) Redis 進(jìn)行設(shè)置, 讓它在“ N 秒內(nèi)數(shù)據(jù)集至少有 M 個(gè)改動(dòng)”這一條件被滿足時(shí),, 自動(dòng)保存一次數(shù)據(jù)集,。你也可以通過調(diào)用 SAVE或者 BGSAVE , 手動(dòng)讓 Redis 進(jìn)行數(shù)據(jù)集保存操作,。

比如說,, 以下設(shè)置會(huì)讓 Redis 在滿足“ 60 秒內(nèi)有至少有 1000 個(gè)鍵被改動(dòng)”這一條件時(shí), 自動(dòng)保存一次數(shù)據(jù)集:

save 60 1000

這種持久化方式被稱為快照 snapshotting.

工作方式

當(dāng) Redis 需要保存 dump.rdb 文件時(shí), 服務(wù)器執(zhí)行以下操作:

  • Redis 調(diào)用forks. 同時(shí)擁有父進(jìn)程和子進(jìn)程,。

  • 子進(jìn)程將數(shù)據(jù)集寫入到一個(gè)臨時(shí) RDB 文件中,。

  • 當(dāng)子進(jìn)程完成對(duì)新 RDB 文件的寫入時(shí),Redis 用新 RDB 文件替換原來的 RDB 文件,,并刪除舊的 RDB 文件,。

這種工作方式使得 Redis 可以從寫時(shí)復(fù)制(copy-on-write)機(jī)制中獲益。

只追加操作的文件(Append-only file,,AOF)

快照功能并不是非常耐久(durable): 如果 Redis 因?yàn)槟承┰蚨斐晒收贤C(jī),, 那么服務(wù)器將丟失最近寫入、且仍未保存到快照中的那些數(shù)據(jù),。

從 1.1 版本開始,, Redis 增加了一種完全耐久的持久化方式: AOF 持久化。

你可以在配置文件中打開AOF方式:

appendonly yes

從現(xiàn)在開始,, 每當(dāng) Redis 執(zhí)行一個(gè)改變數(shù)據(jù)集的命令時(shí)(比如 SET),, 這個(gè)命令就會(huì)被追加到 AOF 文件的末尾。這樣的話,, 當(dāng) Redis 重新啟時(shí),, 程序就可以通過重新執(zhí)行 AOF 文件中的命令來達(dá)到重建數(shù)據(jù)集的目的。



2,、問題MISCONF Redis is configured to save RDB snapshots

127.0.0.1:6379> set k1 "nob"

(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error.

出現(xiàn)如上錯(cuò)誤是因?yàn)榇疟P無法寫入,緣由:應(yīng)該是之前強(qiáng)制停止redis快照導(dǎo)致

我的解囧,,重啟機(jī)器沒問題了,,哈哈哈,就是因?yàn)閹状螐?qiáng)制停止造成的

有人的解囧如下

1
config set stop-writes-on-bgsave-error no

如果是內(nèi)存問題應(yīng)該如下辦法,,具體查看日志,,

請(qǐng)?jiān)?etc/sysctl.conf 添加一項(xiàng) 'vm.overcommit_memory = 1' ,然后重啟(或者運(yùn)行命令'sysctl vm.overcommit_memory=1' )使其生效,。


[參考文獻(xiàn)]

1,、http://www./topics/persistence.html  官方文檔對(duì)于持久化的說明

2、http://www./Linux/2012-07/66079.htm  從Redis的數(shù)據(jù)丟失說起

3,、http://www./html/Linux/20131125/468.html  MISCONF Redis is configured to save RDB 內(nèi)存問題引起

4,、http://blog.csdn.net/chenggong2dm/article/details/17325241   磁盤滿了也報(bào)錯(cuò) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,,不代表本站觀點(diǎn),。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,,謹(jǐn)防詐騙,。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多