中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Redis緩存數據庫配置文件的詳細介紹

發布時間:2020-06-17 11:42:17 來源:億速云 閱讀:410 作者:Leah 欄目:關系型數據庫

今天小編給大家分享的是Redis緩存數據庫配置文件的詳細介紹,相信大部分人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,話不多說,一起往下看吧。

1、開頭說明

Redis緩存數據庫配置文件的詳細介紹

這里沒什么好說的,需要注意的是后面需要使用內存大小時,可以指定單位,通常是以 k,gb,m的形式出現,并且單位不區分大小寫。

2、INCLUDES

Redis緩存數據庫配置文件的詳細介紹

我們知道Redis只有一個配置文件,如果多個人進行開發維護,那么就需要多個這樣的配置文件,這時候多個配置文件就可以在此通過 include /path/to/local.conf 配置進來,而原本的 redis.conf 配置文件就作為一個總閘。

ps:如果用過struts2 開發的同學,在項目組中多人開發的情況下,通常會有多個struts2.xml 文件,這時候也會通過類時的配置引入進來。

另外需要注意的時,如果將此配置寫在redis.conf 文件的開頭,那么后面的配置會覆蓋引入文件的配置,如果想以引入文件的配置為主,那么需要將 include 配置寫在 redis.conf 文件的末尾。

3、MODULES

Redis緩存數據庫配置文件的詳細介紹

redis3.0的爆炸功能是新增了集群,而redis4.0就是在3.0的基礎上新增了許多功能,其中這里的 自定義模塊配置就是其中之一。通過這里的 loadmodule 配置將引入自定義模塊來新增一些功能。

4、NETWORK

Redis緩存數據庫配置文件的詳細介紹

ps:這里的配置較長,我只截取了一部分,下同。

①、bind:綁定redis服務器網卡IP,默認為127.0.0.1,即本地回環地址。這樣的話,訪問redis服務只能通過本機的客戶端連接,而無法通過遠程連接。如果bind選項為空的話,那會接受所有來自于可用網絡接口的連接。

②、port:指定redis運行的端口,默認是6379。由于Redis是單線程模型,因此單機開多個Redis進程的時候會修改端口。

③、timeout:設置客戶端連接時的超時時間,單位為秒。當客戶端在這段時間內沒有發出任何指令,那么關閉該連接。默認值為0,表示不關閉。

④、tcp-keepalive :單位是秒,表示將周期性的使用SO_KEEPALIVE檢測客戶端是否還處于健康狀態,避免服務器一直阻塞,官方給出的建議值是300s,如果設置為0,則不會周期性的檢測。

5、GENERAL

Redis緩存數據庫配置文件的詳細介紹

具體配置詳解:

①、daemonize:設置為yes表示指定Redis以守護進程的方式啟動(后臺啟動)。默認值為 no

②、pidfile:配置PID文件路徑,當redis作為守護進程運行的時候,它會把 pid 默認寫到 /var/redis/run/redis_6379.pid 文件里面

③、loglevel :定義日志級別。默認值為notice,有如下4種取值:

debug(記錄大量日志信息,適用于開發、測試階段)

verbose(較多日志信息)

notice(適量日志信息,使用于生產環境)

warning(僅有部分重要、關鍵信息才會被記錄)

④、logfile :配置log文件地址,默認打印在命令行終端的窗口上

⑤、databases:設置數據庫的數目。默認的數據庫是DB 0 ,可以在每個連接上使用select  <dbid> 命令選擇一個不同的數據庫,dbid是一個介于0到databases - 1 之間的數值。默認值是 16,也就是說默認Redis有16個數據庫。

6、SNAPSHOTTING

這里的配置主要用來做持久化操作。

Redis緩存數據庫配置文件的詳細介紹

①、save:這里是用來配置觸發 Redis的持久化條件,也就是什么時候將內存中的數據保存到硬盤。默認如下配置:

save 900 1:表示900 秒內如果至少有 1 個 key 的值變化,則保存
save 300 10:表示300 秒內如果至少有 10 個 key 的值變化,則保存
save 60 10000:表示60 秒內如果至少有 10000 個 key 的值變化,則保存

當然如果你只是用Redis的緩存功能,不需要持久化,那么你可以注釋掉所有的 save 行來停用保存功能。可以直接一個空字符串來實現停用:save ""

②、stop-writes-on-bgsave-error :默認值為yes。當啟用了RDB且最后一次后臺保存數據失敗,Redis是否停止接收數據。這會讓用戶意識到數據沒有正確持久化到磁盤上,否則沒有人會注意到災難(disaster)發生了。如果Redis重啟了,那么又可以重新開始接收數據了

③、rdbcompression ;默認值是yes。對于存儲到磁盤中的快照,可以設置是否進行壓縮存儲。如果是的話,redis會采用LZF算法進行壓縮。如果你不想消耗CPU來進行壓縮的話,可以設置為關閉此功能,但是存儲在磁盤上的快照會比較大。

④、rdbchecksum :默認值是yes。在存儲快照后,我們還可以讓redis使用CRC64算法來進行數據校驗,但是這樣做會增加大約10%的性能消耗,如果希望獲取到最大的性能提升,可以關閉此功能。

⑤、dbfilename :設置快照的文件名,默認是 dump.rdb

⑥、dir:設置快照文件的存放路徑,這個配置項一定是個目錄,而不能是文件名。使用上面的 dbfilename 作為保存的文件名。

7、REPLICATION

Redis緩存數據庫配置文件的詳細介紹

①、slave-serve-stale-data:默認值為yes。當一個 slave 與 master 失去聯系,或者復制正在進行的時候,slave 可能會有兩種表現:

1) 如果為 yes ,slave 仍然會應答客戶端請求,但返回的數據可能是過時,或者數據可能是空的在第一次同步的時候

2) 如果為 no ,在你執行除了 info he salveof 之外的其他命令時,slave 都將返回一個 "SYNC with master in progress" 的錯誤

②、slave-read-only:配置Redis的Slave實例是否接受寫操作,即Slave是否為只讀Redis。默認值為yes。

③、repl-diskless-sync:主從數據復制是否使用無硬盤復制功能。默認值為no。

④、repl-diskless-sync-delay:當啟用無硬盤備份,服務器等待一段時間后才會通過套接字向從站傳送RDB文件,這個等待時間是可配置的。  這一點很重要,因為一旦傳送開始,就不可能再為一個新到達的從站服務。從站則要排隊等待下一次RDB傳送。因此服務器等待一段  時間以期更多的從站到達。延遲時間以秒為單位,默認為5秒。要關掉這一功能,只需將它設置為0秒,傳送會立即啟動。默認值為5。

⑤、repl-disable-tcp-nodelay:同步之后是否禁用從站上的TCP_NODELAY 如果你選擇yes,redis會使用較少量的TCP包和帶寬向從站發送數據。但這會導致在從站增加一點數據的延時。

Linux內核默認配置情況下最多40毫秒的延時。如果選擇no,從站的數據延時不會那么多,但備份需要的帶寬相對較多。默認情況下我們將潛在因素優化,但在高負載情況下或者在主從站都跳的情況下,把它切換為yes是個好主意。默認值為no。

8、SECURITY

Redis緩存數據庫配置文件的詳細介紹

①、rename-command:命令重命名,對于一些危險命令例如:

flushdb(清空數據庫)

flushall(清空所有記錄)

config(客戶端連接后可配置服務器)

keys(客戶端連接后可查看所有存在的鍵)

作為服務端redis-server,常常需要禁用以上命令來使得服務器更加安全,禁用的具體做法是是:

rename-command FLUSHALL ""

也可以保留命令但是不能輕易使用,重命名這個命令即可:

rename-command FLUSHALL abcdefg

這樣,重啟服務器后則需要使用新命令來執行操作,否則服務器會報錯unknown command。

9、CLIENTS

Redis緩存數據庫配置文件的詳細介紹

①、maxclients :設置客戶端最大并發連接數,默認無限制,Redis可以同時打開的客戶端連接數為Redis進程可以打開的最大文件。  描述符數-32(redis server自身會使用一些),如果設置 maxclients為0 。表示不作限制。當客戶端連接數到達限制時,Redis會關閉新的連接并向客戶端返回max number of clients reached錯誤信息

10、MEMORY MANAGEMENT

Redis緩存數據庫配置文件的詳細介紹

①、maxmemory:設置客戶端最大并發連接數,默認無限制,Redis可以同時打開的客戶端連接數為Redis進程可以打開的最大文件。描述符數-32(redis server自身會使用一些),如果設置 maxclients為0 。表示不作限制。當客戶端連接數到達限制時,Redis會關閉新的連接并向客戶端返回max number of clients reached錯誤信息。

②、maxmemory-policy :當內存使用達到最大值時,redis使用的清楚策略。有以下幾種可以選擇:

1)volatile-lru   利用LRU算法移除設置過過期時間的key (LRU:最近使用 Least Recently Used )

2)allkeys-lru   利用LRU算法移除任何key

3)volatile-random 移除設置過過期時間的隨機key

4)allkeys-random  移除隨機ke

5)volatile-ttl   移除即將過期的key(minor TTL)

6)noeviction  noeviction   不移除任何key,只是返回一個寫錯誤 ,默認選項

③、maxmemory-samples :LRU 和 minimal TTL 算法都不是精準的算法,但是相對精確的算法(為了節省內存)。隨意你可以選擇樣本大小進行檢,redis默認選擇3個樣本進行檢測,你可以通過maxmemory-samples進行設置樣本數。

11、APPEND ONLY MODE

Redis緩存數據庫配置文件的詳細介紹

①、appendonly:默認redis使用的是rdb方式持久化,這種方式在許多應用中已經足夠用了。但是redis如果中途宕機,會導致可能有幾分鐘的數據丟失,根據save來策略進行持久化,Append Only File是另一種持久化方式,  可以提供更好的持久化特性。Redis會把每次寫入的數據在接收后都寫入appendonly.aof文件,每次啟動時Redis都會先把這個文件的數據讀入內存里,先忽略RDB文件。默認值為no。

②、appendfilename :aof文件名,默認是"appendonly.aof"

③、appendfsync:aof持久化策略的配置;no表示不執行fsync,由操作系統保證數據同步到磁盤,速度最快;always表示每次寫入都執行fsync,以保證數據同步到磁盤;everysec表示每秒執行一次fsync,可能會導致丟失這1s數據

④、no-appendfsync-on-rewrite:在aof重寫或者寫入rdb文件的時候,會執行大量IO,此時對于everysec和always的aof模式來說,執行fsync會造成阻塞過長時間,no-appendfsync-on-rewrite字段設置為默認設置為no。

如果對延遲要求很高的應用,這個字段可以設置為yes,否則還是設置為no,這樣對持久化特性來說這是更安全的選擇。   設置為yes表示rewrite期間對新寫操作不fsync,暫時存在內存中,等rewrite完成后再寫入,默認為no,建議yes。Linux的默認fsync策略是30秒。可能丟失30秒數據。默認值為no。

⑤、auto-aof-rewrite-percentage:默認值為100。aof自動重寫配置,當目前aof文件大小超過上一次重寫的aof文件大小的百分之多少進行重寫,即當aof文件增長到一定大小的時候,Redis能夠調用bgrewriteaof對日志文件進行重寫。當前AOF文件大小是上次日志重寫得到AOF文件大小的二倍(設置為100)時,自動啟動新的日志重寫過程。

⑥、auto-aof-rewrite-min-size:64mb。設置允許重寫的最小aof文件大小,避免了達到約定百分比但尺寸仍然很小的情況還要重寫。

⑦、aof-load-truncated:aof文件可能在尾部是不完整的,當redis啟動的時候,aof文件的數據被載入內存。重啟可能發生在redis所在的主機操作系統宕機后,尤其在ext4文件系統沒有加上data=ordered選項,出現這種現象  redis宕機或者異常終止不會造成尾部不完整現象,可以選擇讓redis退出,或者導入盡可能多的數據。

如果選擇的是yes,當截斷的aof文件被導入的時候,會自動發布一個log給客戶端然后load。如果是no,用戶必須手動redis-check-aof修復AOF文件才可以。默認值為 yes。

12、LUA SCRIPTING

Redis緩存數據庫配置文件的詳細介紹

①、lua-time-limit:一個lua腳本執行的最大時間,單位為ms。默認值為5000.

13、REDIS CLUSTER

Redis緩存數據庫配置文件的詳細介紹

①、cluster-enabled:集群開關,默認是不開啟集群模式。

②、cluster-config-file:集群配置文件的名稱,每個節點都有一個集群相關的配置文件,持久化保存集群的信息。 這個文件并不需要手動配置,這個配置文件有Redis生成并更新,每個Redis集群節點需要一個單獨的配置文件。請確保與實例運行的系統中配置文件名稱不沖突。默認配置為nodes-6379.conf。

③、cluster-node-timeout :可以配置值為15000。節點互連超時的閥值,集群節點超時毫秒數

④、cluster-slave-validity-factor :可以配置值為10。在進行故障轉移的時候,全部slave都會請求申請為master,但是有些slave可能與master斷開連接一段時間了,  導致數據過于陳舊,這樣的slave不應該被提升為master。該參數就是用來判斷slave節點與master斷線的時間是否過長。

判斷方法是:比較slave斷開連接的時間和(node-timeout * slave-validity-factor) + repl-ping-slave-period     如果節點超時時間為三十秒, 并且slave-validity-factor為10,假設默認的repl-ping-slave-period是10秒,即如果超過310秒slave將不會嘗試進行故障轉移

⑤、cluster-migration-barrier :可以配置值為1。master的slave數量大于該值,slave才能遷移到其他孤立master上,如這個參數若被設為2,那么只有當一個主節點擁有2 個可工作的從節點時,它的一個從節點會嘗試遷移。

⑥、cluster-require-full-coverage:默認情況下,集群全部的slot有節點負責,集群狀態才為ok,才能提供服務。  設置為no,可以在slot沒有全部分配的時候提供服務。不建議打開該配置,這樣會造成分區的時候,小分區的master一直在接受寫請求,而造成很長時間數據不一致。

看完上述內容,你們對Redis緩存數據庫配置文件有進一步的了解嗎?如果還想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临桂县| 中西区| 巫山县| 尖扎县| 巴塘县| 崇文区| 雷州市| 大方县| 康定县| 类乌齐县| 延吉市| 西宁市| 慈溪市| 仙游县| 衡南县| 晋江市| 武宁县| 河津市| 彭州市| 尚义县| 攀枝花市| 小金县| 沧源| 筠连县| 南投市| 汪清县| 仁寿县| 新竹县| 尤溪县| 苍山县| 冷水江市| 遂昌县| 天峨县| 色达县| 安宁市| 新闻| 宁武县| 盘锦市| 五河县| 阳高县| 巢湖市|