redis啟動不加載配置文件,Redis配置文件詳解(redis.conf)

 2023-10-05 阅读 21 评论 0

摘要:# vi redis.conf daemonize yes?#是否以后臺進程運行 pidfile /var/run/redis/redis-server.pid ? ?#pid文件位置 port 6379#監聽端口 bind 127.0.0.1 ? #綁定地址,如外網需要連接,設置0.0.0.0 timeout 300 ? ??#連接超時時間,單位秒 loglevel notice?

# vi redis.conf


daemonize yes?#是否以后臺進程運行

pidfile /var/run/redis/redis-server.pid ? ?#pid文件位置

port 6379#監聽端口

bind 127.0.0.1 ? #綁定地址,如外網需要連接,設置0.0.0.0

timeout 300 ? ??#連接超時時間,單位秒

loglevel notice? #日志級別,分別有:

# debug :適用于開發和測試

# verbose :更詳細信息

# notice :適用于生產環境

# warning :只記錄警告或錯誤信息

logfile /var/log/redis/redis-server.log ? #日志文件位置

syslog-enabled no ? ?#是否將日志輸出到系統日志

databases 16#設置數據庫數量,默認數據庫為0


###############?快照方式?###############


save 900 1 ? ?#在900s(15m)之后,至少有1個key發生變化,則快照

save 300 10 ? #在300s(5m)之后,至少有10個key發生變化,則快照

save 60 10000 ?#在60s(1m)之后,至少有1000個key發生變化,則快照

rdbcompression yes ? #dump時是否壓縮數據

dir /var/lib/redis ? #數據庫(dump.rdb)文件存放目錄


###############?主從復制?###############


slaveof <masterip> <masterport> ?#主從復制使用,用于本機redis作為slave去連接主redis

masterauth <master-password>? ?#當master設置密碼認證,slave用此選項指定master認證密碼

slave-serve-stale-data yes ? ? #當slave與master之間的連接斷開或slave正在與master進行數據同步時,如果有slave請求,當設置為yes時,slave仍然響應請求,此時可能有問題,如果設置no時,slave會返回"SYNC with master in progress"錯誤信息。但INFO和SLAVEOF命令除外。


###############?安全?###############


requirepass pass ??#配置redis連接認證密碼


###############?限制?###############


maxclients 128#設置最大連接數,0為不限制

maxmemory <bytes>#內存清理策略,如果達到此值,將采取以下動作:

# volatile-lru :默認策略,只對設置過期時間的key進行LRU算法刪除

# allkeys-lru :刪除不經常使用的key

# volatile-random :隨機刪除即將過期的key

# allkeys-random :隨機刪除一個key

# volatile-ttl :刪除即將過期的key

# noeviction :不過期,寫操作返回報錯

maxmemory-policy volatile-lru#如果達到maxmemory值,采用此策略

maxmemory-samples 3 ? #默認隨機選擇3個key,從中淘汰最不經常用的


###############?附加模式?###############


appendonly no ? ?#AOF持久化,是否記錄更新操作日志,默認redis是異步(快照)把數據寫入本地磁盤

appendfilename appendonly.aof ?#指定更新日志文件名

# AOF持久化三種同步策略:

# appendfsync always? ?#每次有數據發生變化時都會寫入appendonly.aof

# appendfsync everysec??#默認方式,每秒同步一次到appendonly.aof

# appendfsync no ? ? ? #不同步,數據不會持久化

no-appendfsync-on-rewrite no ? #當AOF日志文件即將增長到指定百分比時,redis通過調用BGREWRITEAOF是否自動重寫AOF日志文件。redis啟動不加載配置文件。


###############?虛擬內存?###############


vm-enabled no ? ? ?#是否啟用虛擬內存機制,虛擬內存機將數據分頁存放,把很少訪問的頁放到swap上,內存占用多,最好關閉虛擬內存

vm-swap-file /var/lib/redis/redis.swap ? #虛擬內存文件位置

vm-max-memory 0 ? ?#redis使用的最大內存上限,保護redis不會因過多使用物理內存影響性能

vm-page-size 32 ? ?#每個頁面的大小為32字節

vm-pages 134217728 ?#設置swap文件中頁面數量

vm-max-threads 4 ? ?#訪問swap文件的線程數


###############?高級配置?###############


hash-max-zipmap-entries 512? ?#哈希表中元素(條目)總個數不超過設定數量時,采用線性緊湊格式存儲來節省空間

hash-max-zipmap-value 64 ? ? #哈希表中每個value的長度不超過多少字節時,采用線性緊湊格式存儲來節省空間

list-max-ziplist-entries 512? #list數據類型多少節點以下會采用去指針的緊湊存儲格式

list-max-ziplist-value 64 ? ?#list數據類型節點值大小小于多少字節會采用緊湊存儲格式

set-max-intset-entries 512? ?#set數據類型內部數據如果全部是數值型,且包含多少節點以下會采用緊湊格式存儲

activerehashing yes?? ? ? ?#是否激活重置哈希


總結:

1、redis提供幾種持久化機制:

?a). RDB持久化

?工作方式 :根據時間的間隔將redis中數據快照(dump)到dump.rdb文件

?優勢 :備份恢復簡單。RDB通過子進程完成持久化工作,相對比AOF啟動效率高

?劣勢 :服務器故障會丟失幾分鐘內的數據

?b). AOF持久化

?工作方式 :以日志的形式記錄所有更新操作到AOF日志文件,在redis服務重新啟動時會讀取該日志文 件來重新構建數據庫,以保證啟動后數據完整性。

?優勢 :AOF提供兩種同步機制,一個是fsync always每次有數據變化就同步到日志文件和fsync everysec每秒同步一次到日志文件,最大限度保證數據完整性。redis config、

?劣勢:日志文件相對RDB快照文件要大的多

?AOF日志重寫功能 :AOF日志文件過大,redis會自動重寫AOF日志,append模式不斷的將更新記錄寫入到老日志文件中,同時redis還會創建一個新的日志文件用于追加后續的記錄。

?c). 同時應用AOF和RDB

?對于數據安全性高的場景,可同時使用AOF和RDB,這樣會降低性能。

?d). 無持久化

?禁用redis服務持久化功能。Redis配置。

2、AOF日志文件出錯后,修復方法 :

redis-check-aof --fix appendonly.aof ?#--fix參數為修復日志文件,不加則對日志檢查

3、不重啟redis從RDB持久化切換到AOF持久化 :

redis-cli> CONFIG SET appendonly yes????? #啟用AOF

redis-cli> CONFIG SET save ""?????????#關閉RDB




本文轉自 李振良OK 51CTO博客,原文鏈接:http://blog.51cto.com/lizhenliang/1656305,如需轉載請自行聯系原作者

版权声明:本站所有资料均为网友推荐收集整理而来,仅供学习和研究交流使用。

原文链接:https://hbdhgg.com/3/117971.html

发表评论:

本站为非赢利网站,部分文章来源或改编自互联网及其他公众平台,主要目的在于分享信息,版权归原作者所有,内容仅供读者参考,如有侵权请联系我们删除!

Copyright © 2022 匯編語言學習筆記 Inc. 保留所有权利。

底部版权信息