如果不指定配置文件,redis也可以啓動,此時,redis使用默認的內置配置。不過在正式環境,常常通過配置文件【通常叫redis.conf】來配置redis。
redis.conf配置格式如下:
keyword argument1 argument2 ... argumentN
redis.conf配置參數:
1)daemonize on|yes
redis默認不是以守護進程的方式運行,可以通過該配置項修改,使用yes時,啓用守護進程
2)pidfile /var/run/redis_6379.pid
redis以守護進程方式運行時,系統默認會把pid寫入/var/run/redis.pid,可以通過pidfile指定pid文件
3)port 6379
redis默認監聽6379端口,可以通過port指定redis要監聽的端口
4)bind 127.0.0.1
綁定主機地址
5)unixsocket /tmp/redis.sock
指定redis監聽的unix socket 路徑
6)timeout 300
當客戶端閒置多長時間,關閉連接,單位秒
7)loglevel verbose|debug|notice|warning
指定日誌記錄級別,默認是verbose
8)logfile /var/log/redis_6379.log
日誌記錄文件,默認是標準輸出stdout,如果redis以守護進程方式運行,logfile 配置爲stdout時,logs將要輸出到/dev/null
9)syslog-enabled no|yes
當配置爲yes時,日誌輸出到系統日誌,默認是no
10)syslog-ident redis
指定syslog的標示符
11)syslog-facility local0
指定syslog設備(facility),必須是user或則local0到local7
12)databases 16
設置redis中數據庫的個數,默認數據庫是DB 0,可以通過select <dbid>,選擇使用的數據庫。dbis大於等於0,小於等於databases -1 【這裏是16-1】
13)save <seconds> <changes>
指定多長時間內,有多少次更新操作時,將數據同步到數據庫文件,可以多個條件配合,系統默認配置如下:
save 900 1 #900秒 1個修改
save 300 10 #300秒 10個更新
save 60 10000 #60秒 10000個更新
注意,如果不持久化【不把數據寫入磁盤】,註釋掉save即可。
14)rdbcompression yes|no
數據dump到數據文件時,系統是否壓縮string對象數據,系統默認是yes。如果爲了節省cpu,可以設置爲no,此時數據文件比用LZF壓縮時要大
15)dbfilename dump.rdb
指定數據庫文件名,默認是dump.rdb
16)dir /var/lib/redis/6379
指定本地數據庫存放目錄
17)slaveof <masterip> <masterport>
當本機是slave服務時,設置master服務的ip和端口
18)masterauth <master-password>
當master服務設置了密碼時,slave服務連接master的密碼。如果配置不對,slave服務請求將被拒絕
19)slave-serve-stale-data yes|no
當slave和master之間的連接斷開或slave正在於master同步時,如果有slave請求,當slave-serve-stale-data配置爲yes時,slave可以相應客戶端請求;當爲no時,slave將要響應錯誤,默認是yes
20)requirepass foobared
設置redis連接密碼
21)maxclients 128
設置同一時間客戶端最大連接數,默認是無限制。如果設置maxclients 0 時,表示不限制
22)maxmemory <bytes>
指定redis最大內存限制,redis在啓動時,會把數據加載到內存中,達到最大內存後,redis會先清除已到期或將過期的key,仍然到達最大內存設置,將無法再進行寫入操作,但仍然可以進行讀操作
23)maxmemory-policy volatile-lru|allkeys-lru|volatile-random|allkeys->random|volatile-ttl|noeviction
當redis使用內存達到最大時,使用哪種策略移除內存中數據
24)appendonly no|yes
指定是否在每次更新操作後進行日誌記錄,默認配置是no,即在採用異步方式把數據寫入到磁盤,如果不開啓,可能會在斷電時導致部分數據丟失
25)appendfilename appendonly.aof
指定更新日誌文件名【aof日誌】,默認爲appendonly.aof
26)appendfsync everysec|no|aways
指定更新日誌條件,no表示等操作系統進行數據緩存同步到磁盤的aof文件(快)always表示每次更新操作後手動調用fsync將數據寫到磁盤的aof文件(慢,安全)
everysec,表示每秒同步一次(拆中,默認值)
27)slowlog-log-slower-than 10000
配置記錄慢日誌的條件,單位是微妙,當是負值時,關閉慢日誌記錄,當是0時,記錄所有操作
28)slowlog-max-len 1024
配置記錄慢查詢的最大條數
29)hash-max-zipmap-entries 512
配置最大元素數,當超過該配置數據時,redis採用特殊hash算法
30)hash-max-zipmap-value 64
配置最大元素值,當草果配置值時,採用特殊hash算法
31)activerehashing yes
指定是否激活充值hash,默認開啓
可以通過下面命令使用配置文件redis.conf啓動redis服務
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
redis安裝可以參考以前的blog:Redis系列-安裝部署維護篇