redis啟動需要指定配置文件,redis 配置文件參數詳解

 2023-10-18 阅读 20 评论 0

摘要:Redis 支持很多的參數,但都有默認值。 ● daemonize:  默認情況下,redis 不是在后臺運行的,如果需要在后臺運行,把該項的值更改為yes ● pidfile  當Redis 在后臺運行的時候,Redis 默認會把pid 文件放在/var/run/redis.pid,你

Redis 支持很多的參數,但都有默認值。


● daemonize:
  默認情況下,redis 不是在后臺運行的,如果需要在后臺運行,把該項的值更改為yes

● pidfile
  當Redis 在后臺運行的時候,Redis 默認會把pid 文件放在/var/run/redis.pid,你可以配
置到其他地址。當運行多個redis 服務時,需要指定不同的pid 文件和端口

● bind
  指定Redis 只接收來自于該IP 地址的請求,如果不進行設置,那么將處理所有請求,在
生產環境中最好設置該項

● port
  監聽端口,默認為6379

● timeout
  設置客戶端連接時的超時時間,單位為秒。當客戶端在這段時間內沒有發出任何指令,
那么關閉該連接

● loglevel
log 等級分為4 級,debug, verbose, notice, 和warning。生產環境下一般開啟notice

● logfile
配置log 文件地址,默認使用標準輸出,即打印在命令行終端的窗口上

● databases
設置數據庫的個數,可以使用SELECT <dbid>命令來切換數據庫。默認使用的數據庫是0

● save
設置Redis 進行數據庫鏡像的頻率。
if(在60 秒之內有10000 個keys 發生變化時){
  進行鏡像備份
}else if(在300 秒之內有10 個keys 發生了變化){
  進行鏡像備份
}else if(在900 秒之內有1 個keys 發生了變化){
  進行鏡像備份
}

● rdbcompression
  在進行鏡像備份時,是否進行壓縮

redis啟動需要指定配置文件,● dbfilename
  鏡像備份文件的文件名

● dir
  數據庫鏡像備份的文件放置的路徑。這里的路徑跟文件名要分開配置是因為Redis 在進行備份時,先會將當前數據庫的狀態寫入到一個臨時文件中,等備份完成時,再把該該
臨時文件替換為上面所指定的文件,而這里的臨時文件和上面所配置的備份文件都會放
在這個指定的路徑當中

● slaveof
  設置該數據庫為其他數據庫的從數據庫

● masterauth
  當主數據庫連接需要密碼驗證時,在這里指定

● requirepass
  設置客戶端連接后進行任何其他指定前需要使用的密碼。警告:因為redis 速度相當快,所以在一臺比較好的服務器下,一個外部的用戶可以在一秒鐘進行150K 次的密碼嘗試,這意味著你需要指定非常非常強大的密碼來防止暴力破解。

● maxclients
  限制同時連接的客戶數量。當連接數超過這個值時,redis 將不再接收其他連接請求,客戶端嘗試連接時將收到error 信息。

redis怎么配置、● maxmemory
  設置redis 能夠使用的最大內存。當內存滿了的時候,如果還接收到set 命令,redis 將先嘗試剔除設置過expire 信息的key,而不管該key 的過期時間還沒有到達。在刪除時,將按照過期時間進行刪除,最早將要被過期的key 將最先被刪除。如果帶有expire 信息的key 都刪光了,那么將返回錯誤。這樣,redis 將不再接收寫請求,只接收get 請求。maxmemory 的設置比較適合于把redis 當作于類似memcached 的緩存來使用。
appendonly
  默認情況下,redis 會在后臺異步的把數據庫鏡像備份到磁盤,但是該備份是非常耗時的,而且備份也不能很頻繁,如果發生諸如拉閘限電、拔插頭等狀況,那么將造成比較大范圍的數據丟失。所以redis 提供了另外一種更加高效的數據庫備份及災難恢復方式。開啟append only 模式之后,redis 會把所接收到的每一次寫操作請求都追加到appendonly.aof 文件中,當redis 重新啟動時,會從該文件恢復出之前的狀態。但是這樣會造成appendonly.aof 文件過大,所以redis 還支持了BGREWRI TEAOF 指令,對appendonly.aof 進行重新整理。所以我認為推薦生產環境下的做法為關閉鏡像,開啟appendonly.aof,同時可以選擇在訪問較少的時間每天對appendonly.aof 進行重寫一次。

● appendfsync
  設置對appendonly.aof 文件進行同步的頻率。always 表示每次有寫操作都進行同步,everysec 表示對寫操作進行累積,每秒同步一次。這個需要根據實際業務場景進行配置.

● vm-enabled
  是否開啟虛擬內存支持。因為redis 是一個內存數據庫,而且當內存滿的時候,無法接收新的寫請求,所以在redis 2.0 中,提供了虛擬內存的支持。但是需要注意的是,redis中,所有的key 都會放在內存中,在內存不夠時,只會把value 值放入交換區。這樣保證了雖然使用虛擬內存,但性能基本不受影響,同時,你需要注意的是你要把vm-max-memory 設置到足夠來放下你的所有的key.

● vm-swap-file
  設置虛擬內存的交換文件路徑.

● vm-max-memory
  這里設置開啟虛擬內存之后,redis 將使用的最大物理內存的大小。默認為0,redis 將
把他所有的能放到交換文件的都放到交換文件中,以盡量少的使用物理內存。在生產環
境下,需要根據實際情況設置該值,最好不要使用默認的0.

● vm-page-size
  設置虛擬內存的頁大小,如果你的value 值比較大,比如說你要在value 中放置博客、新聞之類的所有文章內容,就設大一點,如果要放置的都是很小的內容,那就設小一點。

修改redis配置文件。● vm-pages
設置交換文件的總的page 數量,需要注意的是,page table 信息會放在物理內存中,每
8 個page 就會占據RAM 中的1 個byte。總的虛擬內存大小 = vm-page-size * vm-pages

● vm-max-threads
  設置VM IO 同時使用的線程數量。因為在進行內存交換時,對數據有編碼和解碼的過程,所以盡管IO 設備在硬件上本上不能支持很多的并發讀寫,但是還是如果你所保存的vlaue 值比較大,將該值設大一些,還是能夠提升性能的.

● glueoutputbuf
  把小的輸出緩存放在一起,以便能夠在一個TCP packet 中為客戶端發送多個響應,具體原理和真實效果我不是很清楚。所以根據注釋,你不是很確定的時候就設置成yes.
● hash-max-zipmap-entries
  在redis 2.0 中引入了hash 數據結構。當hash 中包含超過指定元素個數并且最大的元素沒有超過臨界時,hash 將以一種特殊的編碼方式(大大減少內存使用)來存儲,這里可以設置這兩個臨界值.

● activerehashing
  開啟之后,redis 將在每100 毫秒時使用1 毫秒的CPU 時間來對redis 的hash 表進行重新hash,可以降低內存的使用。當你的使用場景中,有非常嚴格的實時性需要,不能夠接受Redis 時不時的對請求有2 毫秒的延遲的話,把這項配置為no。如果沒有這么嚴格的實時性要求,可以設置為yes,以便能夠盡可能快的釋放內存.

轉載于:https://www.cnblogs.com/yuyifeiyang/p/3560487.html

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

原文链接:https://hbdhgg.com/5/147738.html

发表评论:

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

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

底部版权信息