1. 程式人生 > >redis的no-appendfsync-on-rewrite引數

redis的no-appendfsync-on-rewrite引數

redis提供了兩種持久化機制,rdb和aof。

關於aof的原理,類似於預寫日誌,不再解釋。其中幾個選項如下:

appendfsync always:總是寫入aof檔案,並完成磁碟同步
appendfsync everysec:每一秒寫入aof檔案,並完成磁碟同步

appendfsync no:寫入aof檔案,不等待磁碟同步。

可見,從持久化角度講,always是最安全的。從效率上講,no是最快的。而redis預設設定進行了折中,選擇了everysec。合情合理。

bgrewriteaof機制,在一個子程序中進行aof的重寫,從而不阻塞主程序對其餘命令的處理,同時解決了aof檔案過大問題。

現在問題出現了,同時在執行bgrewriteaof操作和主程序寫aof檔案的操作,兩者都會操作磁碟,而bgrewriteaof往往會涉及大量磁碟操作,這樣就會造成主程序在寫aof檔案的時候出現阻塞的情形,現在no-appendfsync-on-rewrite引數出場了。如果該引數設定為no,是最安全的方式,不會丟失資料,但是要忍受阻塞的問題。如果設定為yes呢?這就相當於將appendfsync設定為no,這說明並沒有執行磁碟操作,只是寫入了緩衝區,因此這樣並不會造成阻塞(因為沒有競爭磁碟),但是如果這個時候redis掛掉,就會丟失資料。丟失多少資料呢?在linux的作業系統的預設設定下,最多會丟失30s的資料。

因此,如果應用系統無法忍受延遲,而可以容忍少量的資料丟失,則設定為yes。如果應用系統無法忍受資料丟失,則設定為no。

相關推薦

redis的no-appendfsync-on-rewrite引數

redis提供了兩種持久化機制,rdb和aof。 關於aof的原理,類似於預寫日誌,不再解釋。其中幾個選項如下: appendfsync always:總是寫入aof檔案,並完成磁碟同步 appendfsync everysec:每一秒寫入aof檔案,並完成磁碟同步 app

load-on-startup 引數大小 Servlet 啟動優先順序

最近閒來無聊,測試了下 load-on-startup 關於 Servlet 的優先順序。看到網上有些帖子說,load-on-startup 的取值 0 或 負整數時,在啟動 Tomcat 時,Servlet 就會優先被載入(取負時會 預設成0),經過本人測試,當 load-on-star

nginx rewrite 引數和例子

location ^~ /ucenter {      location ~ .*/.php?$      {   #fastcgi_pass  unix:/tmp/php-cgi.sock;   fastcgi_pass  127.0.0.1:9000;   fastcgi_index index.php;

vue中v-on引數問題

vue中v-on:clock的使用 最近在學習vue.js框架。記下其中遇到的一些問題,以便以後查閱。 首先,這是一個頁面(為了便於觀察,將各個標籤都一一著色): 其中html程式碼: <div class="groupbody ">

Servlet的配置引數load-on-startup引數理解

當我們配置Servlet時,我們可以看到一個引數 load-on-startup,那麼他具體的作用是什麼呢?我們來看一下英語的介紹。 <servlet>     <servlet-name>Dispatch</servlet-name>

初始化引數(Initialization Parameter)知識合集 based on 11g

初始化引數檔案分為: 1)pfile 靜態引數檔案 2)spfile 動態伺服器引數檔案 作用:儲存建立例項、啟動後臺程序所需引數值。 呼叫:例項啟動時,按如下順序調取初始化引數檔案 linux: $ORACLE_HOME/dbs/spfile<SID>.ora $ORACLE

論文學習-系統評估卷積神經網路各項超引數設計的影響-Systematic evaluation of CNN advances on the ImageNet

寫在前面 論文狀態:Published in CVIU Volume 161 Issue C, August 2017 論文地址:https://arxiv.org/abs/1606.02228 github地址:https://github.com/ducha-aiki/caffenet-benchmar

hive on spark 效能引數調優

select * from stg_bankcard_auth_apply where length(idcardno) >= 1 and length(idcardno) <> 32; --該表儲存檔案格式為txt格式,是原始檔直接load進來的,mapreduce執行不管任何s

[樂意黎原創]Nginx裡帶引數rewrite詳解

1. 如下所示,帶 www.daza.ren/view-detail-weixin-9999.html 和 www.daza.ren/view-detail-weixin-9999.html?65 在apache 下的寫法。 1).  www.daza.ren/vi

關於父元件通過v-on接收子元件多個引數的一點研究

寫元件的時候遇到一個需求,我需要在子元件向父元件傳遞資訊 this.$emit('myEvent', 資訊1, 資訊2) 在父元件使用v-on來接收 &lt;my-component @myEvent="handler"/&gt; 這樣就可以接收到子元件傳遞的資訊1和資訊2,eas

Spark on Yarn:任務提交引數配置

當在YARN上執行Spark作業,每個Spark executor作為一個YARN容器執行。Spark可以使得多個Tasks在同一個容器裡面執行。 以下引數配置為例子 spark-submit --master yarn-cluster  / yarn-client 

帶問號的url重定向和引數保留--nginx rewrite

栗子: http://host/demo/sub/z10?x=95&y=27=>http://host/demo/sub/10/95_27.png 問題: 1、重定向前url帶有問號,

apache rewrite引數傳遞的處理

1. $N,引用RewriteRule模板中匹配的相關字串,N表示序號,N=0..9 這個$N很重要,很多時候需要這個回撥引數 比如RewriteRule ^(.*);id=.*$ $1 注意其中的小括號裡面的東西就是用來回調的,也就是說,其實在^(.*);id=.*$這

使用mysqldump備份時為什麼要加上 -q 引數(5.7預設為on

使用mysqldump備份時為什麼要加上 -q 引數(5.7預設為on)    寫在前面:我們在使用mysqldump備份資料時,請一定記住要加上 -q 引數,後果可能是很嚴重的,不要給自己挖坑哦。    先來看看 mysqldump -help 中,關於 -q

Spark on yarn模式的引數設定即調優

1 啟動方式 執行命令./spark-shell --master yarn預設執行的是client模式。 執行./spark-shell --master yarn-client或者./spark-shell --master yarn --deploy-m

Hive on oozie以及action間引數傳遞

背景: 簡單介紹下 hive action的使用,以及action間是如何進行引數傳遞的,這也是進行多job排程必備的操作~ 叢集環境:CDH 5.13.0 ,其中oozie版本:4.1.0,hive版本:1.1.0 一、Hue配置 Hive ac

IOC Of Ninject Base On ASP.NET MVC

dex 準備工作 應用 new 引用 cti err art part 說在之前的話 IOC的概念相信大家比較熟悉了,習慣性稱之為依賴註入或控制反轉,園子裏對基於MVC平臺IOC設計模式已經相當多了,但大家都只知道應該怎麽應用一個IOC模式,比如Ninject, Unity

SQL Server導入報錯:The LocaleID 4 is not installed on this system

code page localeid 936 問題描述:通過SQLServer導入導出向導導入中文字符集數據,遇到The LocaleID 4 is not installed on this system.錯誤。解決方法:我發現客戶服務器操作系統雖然不支持Chinese (Simplified)

【論文閱讀-REC】<<Recommending music on Spotify with deep learing>>閱讀

play ring 來源 調整 能力 表達 layers 書籍 訓練 1、協同過濾 協同過濾不使用item的具體信息,因此可適用性很強,在書籍、電影、音樂上都可用; 協同過濾不適用item的具體信息,因此強者愈強; 冷啟動問題無法解決 2、基於內容的推薦 使用聲音信號推薦

jquery的自定義事件通過on綁定trigger觸發

測試 觸發 調用示例 事件觸發 我們 trigge spa src margin jquery綁定自定義事件,可以實現預先綁定好一個處理方法,當需要使用的時候利用jquery trigger來觸發自定義事件,以達到方便快捷的目的。我們來假設一個這樣的場景,一個textare