Redis配置

配置文件位置

配置文件位于redis安裝目錄下,文件名為redis.conf。可以通過CONFIG命令查看或設置配置項

  • 使用*號可以獲取所有配置項

CONFIG GET *

編輯配置項

可以通過修改redis.conf文件或使用CONFIG SET命令來修改配置

參數說明

  • Redis默認不是已守護進程的方式運行,可以通過修改配置項參數啟動,使用yes啟用守護進程

  • 當redis以守護進程運行時,redis會默認把pid寫入/var/run/redis.pid文件,可以通過pidfile指定.

pidfile /var/run/redis.pid

  • 指定redis監聽端口,默認為6379

port 6379

  • 綁定主機地址

bind 127.0.0.1

  • 客戶端閑置時間關閉連接設置,如果指定為0表示關閉該功能

timeout 300

  • 指定日志記錄級別,redis支持四個級別:debugverbosenoticewarning,默認為verbose

loglevel verbose

  • 日志記錄方式,默認為標準輸出 若配置redis為守護進程方式運行,而此時配置日志記錄方式為標準輸出,則日志會發送給/dev/null

logfile stdout

  • 設置數據庫數量,默認數據庫為0,可以使用SELECT <dbid>命令連接指定數據庫id

database 16

  • 指定多長時間內,有多少次更新,就將數據同步到數據文件,可以多個條件配合

save <second> <changes>

  • redis默認配置提供了三個條件:
    • save 900 1
    • save 300 10
    • save 60 10000

    分別表示900秒內1個有效更新,300秒10個有效更新,60秒10000個有效更新

  • 指定存儲至本地數據庫時是否壓縮數據,默認為yes,redis采用LZF壓縮,若為節約cpu時間可以關閉該選項,但會導致數據文件變的巨大。

rdbcompression yes

  • 指定本地數據庫文件名,默認為dump.rdb

dbfilename dump.rdb

  • 指定本地數據庫存放目錄

dir ./

  • 設置本機slav服務時,設置master服務的IP地址及端口,在redis啟動時,會自動從master進行數據同步

slaveof <masterip> <masterport>

  • 當master服務設置密碼保護時,slav服務連接master密碼

masterauth <master-password>

  • 設置redis連接密碼,若配置了連接密碼,客戶端在連接redis時需要通過AUTH <password>命令通過密碼,默認關閉

requirepass foorbared

  • 設置同一時間最大客戶連接數,默認無限制

    redis可以同時打開的客戶端連接數為redis進程可以打開的最大文件描述符,若設置為maxclients 0 表示不作限制當客戶端連接數達到限制時,redis將會關閉新的連接并向客戶端返回:max number of clients reached錯誤信息。

    maxclients 128

  • 指定redis最大內存限制

redis啟動時會把數據加載到內存中,達到最大內存后,redis會先嘗試清除已到期或即將到期的Key,當執行該操作后,仍然達到最大內存設置,將無法進行寫入操作,但可以進行讀取操作。redis新的vm機制,會把Key存放內存,Value存放在swap區

maxmemory <bytes>

  • 指定是否在每次更新操作后記錄日志。

redis默認情況下是異步的把數據寫入磁盤,若不開啟,可能會在斷電時導致某一時間段的數據丟失。因為redis本身同步數據文件是save條件來同步的,所以有的數據會在一段時間內只存在于內存默認為NO

appendonly no

  • 指定更新日志文件名默認為appendonly.aof

    appendfilename appendonly.aof

  • 指定更新日志條件:

    • No:表示等操作系統進行數據緩存同步到磁盤(快)
    • always:表示每次更新操作后手動調用``fsync()`將數據寫入磁盤(慢,安全)
    • everysec:表示每秒同步一次(較合理,默認)

appendsync everysec

  • 指定是否啟用虛擬內存機制默認值為no

    VM機制將數據分頁存放,有redis將訪問量較少的頁即冷數據swap到磁盤上,訪問多的頁面有磁盤自動換出到內存
    vm-enabled no

  • 虛擬文件路徑默認為/tmp/redis.swap多個redis實例不可共享

vm-swap-file /tmp/redis.swap

  • 將所有大于vm-max-memory的數據存入虛擬內存

無論vm-max-memory設置多小,所有索引數據都是內存存儲的(redis的索引數據,就是keys)當vm-max-memory設置為0 的時候,所有的value都存在于磁盤,默認值為0

vm-max-memory 0

  • redis page-size設置

redis swap文件分成了很多的page,一個對象可以保存在多個page上,但是一個page不能被多個對象共享,vm-page-size要根據存儲的數據大小來設置,若很多小的對象 page最好設置為32或64bytes,若不確定,建議使用默認值

vm-page-size 32

  • 設置swap文件的page數量

由于頁表一種表示頁面空閑或使用的bitmap是存放在內存中的,在磁盤上每8個page將消耗1byte的內存

vm-page 134217728

  • 設置訪問swap文件的線程數

最好不要超過機器的核數,若設置為0,那么對所有的swap文件的操作都是串行的可能會造成較長時間的延時默認值為4

vm-max-threads 4

  • 設置在客戶端應答時,是否將較小的包合并為一個包發送默認為開啟

glueoutputbuf yes

  • 指定在超過一定數量或最大元素超過某一臨界值時,采用一種特殊的哈希算法

hash-max-zipmap-entries 64

hash-max-zipmap-value 512

  • 指定是否激活重置哈希默認為開啟

activerehashing yes

  • 指定包含其他的配置文件

可在同一主機上多個redis實例之間使用同一配置文件,而各個實例擁有在的特定配置文件

include /path/to/local.conf


補充知識

守護進程:也就是精靈進程(Daemon)是linux中后臺服務進程,生存周期較長,通常獨立于控制終端并且周期性的執行某種任務或等待處理某些事件的發生。脫離終端,在終端被關閉時不受影響,也是一種特殊的孤兒進程
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 230,563評論 6 544
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,694評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,672評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,965評論 1 318
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,690評論 6 413
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 56,019評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 44,013評論 3 449
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 43,188評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,718評論 1 336
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,438評論 3 360
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,667評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,149評論 5 365
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,845評論 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,252評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,590評論 1 295
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,384評論 3 400
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,635評論 2 380

推薦閱讀更多精彩內容

  • Redis 配置 Redis 的配置文件位于 Redis 安裝目錄下,文件名為 redis.conf。你可以通過 ...
    零一間閱讀 283評論 0 1
  • 歡迎大家關注我的其他 Github博客 和 CSDN博客 ,互相交流! Redis 的配置文件位于 Redis 安...
    程序員祝融閱讀 354評論 0 6
  • Redis是一種高速高速的基于內存亦可持久化的日志型、Key-Value數據庫在日常的開發中也是十分常見的要想用好...
    饑渴計科極客杰鏗閱讀 460評論 0 7
  • NOSQL類型簡介鍵值對:會使用到一個哈希表,表中有一個特定的鍵和一個指針指向特定的數據,如redis,volde...
    MicoCube閱讀 4,042評論 2 27
  • 前言 Redis 是單進程,但線程IO復用,基于事件,類似于Netty。因為是單線程,所以浪費了,多核,如果開啟集...
    Chinesszz閱讀 690評論 0 1