一鍵安裝配置Redis詳解

安裝Redis

一: 使用wget 下載redis 的安裝包

		 wget http://download.redis.io/releases/redis-5.0.4.tar.gz
		 **下載完成後再本目錄下會生成Redis的壓縮安裝包,如下圖:**

下載完成後再本目錄下會生成Redis的壓縮安裝包

二: 解壓安裝安裝包

	tar -zxvf redis-5.0.4.tar.gz
	**解壓完成會在當前目錄生成redis-5.0.4文件,如下圖:**

在這裏插入圖片描述

三: 配置redis.conf

1:redis的配置文件,默認放在Redis的安裝目錄下,我們在儘量不動這個配置,吧redis.conf copy 一份放在自定義目錄中.這樣做是防止不懂出廠 的Redis配置,啓動的時候也用這個自定義的配置
2:修改redis.conf中的daemonize

四、daemonize介紹

1:redis.conf配置文件中daemonize守護線程,默認是NO。
2:daemonize是用來指定redis是否要用守護線程的方式啓動。
3:daemonize 設置yes或者no區別

daemonize:yes:redis採用的是單進程多線程的模式。當redis.conf中選項 daemonize設置成yes時,代表開啓守護進程模式。在該模式下,redis會在後臺運行,並將進程pid號寫入至redis.conf選項pidfile設置的文件中,此時redis將一直運行,除非手動kill該進程。
daemonize:no: 當daemonize選項設置成no時,當前界面將進入redis的命令行界面,exit強制退出或者關閉連接工具(putty,xshell等)都會導致redis進程退出.

五、端口號修改

修改redis.conf文件中的port端口

六、啓動redis\連接redis

redis-serve /etc/redis/redis.conf (指定redis的配置文件)

遠程連接redis
redis-cli -h host -p port -a password

本地連接redis
redis-cli -p 端口號

如果設置redis密碼,則輸入密碼
auth 密碼

如果中文亂碼則使用
redis-cli -p 6379 --raw

七、多庫

**redis默認開啓16個庫,默認使用數據庫0**
#數據庫的數量,默認使用的數據庫是DB 0。可以通過”SELECT “命令選擇一個db
databases 16

**requirepass配置可以讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網絡中。爲了保持向後的兼容性,可以註釋該命令,因爲大部分用戶也不需##要認證。使用requirepass的>時候需要注意#,因爲redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼。**
requirepass 123456

切換數據庫命令
select 1

八、常用命令

1:設置數據
set key value
2:獲取數據
get key
3:獲取指定所有key
keys *
4:獲取指定前綴的keys
keys 前綴*
5:刪除指定key
del key
6:獲取key過期時間
ttl key
7:將給定 key 的值設爲 value ,並返回 key 的舊值(old value)。
GETSET key value
8:MGET key1 [key2..]
獲取所有(一個或多個)給定 key 的值
9:SETEX key seconds value
將值 value 關聯到 key ,並將 key 的過期時間設爲 seconds (以秒爲單位)。
10:STRLEN key
返回 key 所儲存的字符串值的長度。
11:	MSET key value [key value ...]
同時設置一個或多個 key-value 對
12:DBSIZE
返回當前數據庫的鍵的數量
13:FLUSHALL
刪除所有數據庫的所有鍵
14:SLAVEOF主機端口
將當前服務器轉變爲指定服務器的從屬服務器(從屬服務器)

九、配置文件詳解

# redis configuration file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511

#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0

#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)
daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

#日誌的來源、設備
# syslog-facility local0

#數據庫的數量,默認使用的數據庫是DB 0。可以通過”SELECT “命令選擇一個db
databases 16

always-show-logo yes

################################ SNAPSHOTTING ################################
# 快照配置
# 註釋掉“save”這一行配置項就可以讓保存數據庫功能失效
# 設置sedis進行數據庫鏡像的頻率。
# 900秒(15分鐘)內至少1個key值改變(則進行數據庫保存--持久化)
# 300秒(5分鐘)內至少10個key值改變(則進行數據庫保存--持久化)
# 60秒(1分鐘)內至少10000個key值改變(則進行數據庫保存--持久化)
save 900 1
save 300 10
save 60 10000

#當RDB持久化出現錯誤後,是否依然進行繼續進行工作,yes:不能進行工作,no:可以繼續進行工作,可以通過info中的rdb_last_bgsave_status瞭解RDB持久化是否有錯誤
stop-writes-on-bgsave-error yes

#使用壓縮rdb文件,rdb文件壓縮使用LZF壓縮算法,yes:壓縮,但是需要一些cpu的消耗。no:不壓縮,需要更多的磁盤空間
rdbcompression yes

#是否校驗rdb文件。從rdb格式的第五個版本開始,在rdb文件的末尾會帶上CRC64的校驗和。這跟有利於文件的容錯性,但是在保存rdb文件的時候,會有大概10%的性能損耗,所以如果你##追求高性能,可以關閉該配置
。
rdbchecksum yes

#rdb文件的名稱
dbfilename dump.rdb

#數據目錄,數據庫的寫入會在這個目錄。rdb、aof文件也會寫在這個目錄
dir /etc/redis

################################# REPLICATION #################################
#複製選項,slave複製對應的master。
# slaveof <masterip> <masterport>

#如果master設置了requirepass,那麼slave要連上master,需要有master的密碼纔行。masterauth就是用來配置master的密碼,這樣可以在連上master後進行認證。
# masterauth <master-password>

#當從庫同主機失去連接或者複製正在進行,從機庫有兩種運行方式:1) 如果slave-serve-stale-data設置爲yes(默認設置),從庫會繼續響應客戶端的請求。2) 如果slave-serve-stale-#data設置爲no,除去INFO和SLAVOF命令之外的任何請求都會返回一個錯誤”SYNC with master in progress”。
replica-serve-stale-data yes

#作爲從服務器,默認情況下是隻讀的(yes),可以修改成NO,用於寫(不建議)。
replica-read-only yes

#是否使用socket方式複製數據。目前redis複製提供兩種方式,disk和socket。如果新的slave連上來或者重連的slave無法部分同步,就會執行全量同步,master會生成rdb文件。有2種方#式:disk方式是master創建一
個新的#進程把rdb文件保存到磁盤,再把磁盤上的rdb文件傳遞給slave。socket是master創建一個新的進程,直接把rdb文件以socket的方式發給slave。dis#k方式的時候,當一個rdb保存的過程中,多個slave都能共享
這個rdb文件##。socket的方式就的一個個slave順序複製。在磁盤速度緩慢,網速快的情況下推薦用socket方式。
repl-diskless-sync no

#diskless複製的延遲時間,防止設置爲0。一旦複製開始,節點不會再接收新slave的複製請求直到下一個rdb傳輸。所以最好等待一段時間,等更多的slave連上來。
repl-diskless-sync-delay 5

#slave根據指定的時間間隔向服務器發送ping請求。時間間隔可以通過 repl_ping_slave_period 來設置,默認10秒。
# repl-ping-slave-period 10

#複製連接超時時間。master和slave都有超時時間的設置。master檢測到slave上次發送的時間超過repl-timeout,即認爲slave離線,清除該slave信息。slave檢測到上次和master交互的#時間超過repl-#timeout,則>認爲master離線。需要注意的是repl-timeout需要設置一個比repl-ping-slave-period更大的值,不然會經常檢測到超時。

# repl-timeout 60

#是否禁止複製tcp鏈接的tcp nodelay參數,可傳遞yes或者no。默認是no,即使用tcp nodelay。如果master設置了yes來禁止tcp #nodelay設置,在把數據複製給slave的時候,會減少包##的數量和更小的網絡帶寬。但
是這也可能帶來數據的延遲。默認我們推薦更小的延遲,但是在數據量傳輸很大的場景下,建議選擇yes。
repl-disable-tcp-nodelay no

#複製緩衝區大小,這是一個環形複製緩衝區,用來保存最新複製的命令。這樣在slave離線的時候,不需要完全複製master的數據,如果可以執行部分同步,只需要把緩衝區的部分數據復#制給slave,就能恢復正常復>制狀態。緩衝##區的大小越大,slave離線的時間可以更長,複製緩衝區只有在有slave連接的時候才分配內存。沒有slave的一段時間,內存會被釋放出來,##默認1m。
# repl-backlog-size 5mb

#master沒有slave一段時間會釋放複製緩衝區的內存,repl-backlog-ttl用來設置該時間長度。單位爲秒。
# repl-backlog-ttl 3600

#當master不可用,Sentinel會根據slave的優先級選舉一個master。最低的優先級的slave,當選master。而配置成0,永遠不會被選舉。
replica-priority 100

#redis提供了可以讓master停止寫入的方式,如果配置了min-slaves-to-write,健康的slave的個數小於N,mater就禁止寫入。master最少得有多少個健康的slave存活才能執行寫命令。##這個配置雖然不能保證N個slave都一#定能接收到master的寫操作,但是能避免沒有足夠健康的slave的時候,master不能寫入來避免數據丟失。設置爲0是關閉該功能。
# min-slaves-to-write 3

#延遲小於min-slaves-max-lag秒的slave才認爲是健康的slave。
# min-slaves-max-lag 10

# 設置1或另一個設置爲0禁用這個特性。
# Setting one or the other to 0 disables the feature.
# By default min-slaves-to-write is set to 0 (feature disabled) and
# min-slaves-max-lag is set to 10.

################################## SECURITY ###################################
#requirepass配置可以讓用戶使用AUTH命令來認證密碼,才能使用其他命令。這讓redis可以使用在不受信任的網絡中。爲了保持向後的兼容性,可以註釋該命令,因爲大部分用戶也不需##要認證。使用requirepass的>時候需要注意#,因爲redis太快了,每秒可以認證15w次密碼,簡單的密碼很容易被攻破,所以最好使用一個更復雜的密碼。
requirepass 13511920222Ybr

#把危險的命令給修改成其他名稱。比如CONFIG命令可以重命名爲一個很難被猜到的命令,這樣用戶不能使用,而內部工具還能接着使用。
# rename-command CONFIG b840fc02d524045429941cc15f59e41cb7be6c52

#設置成一個空的值,可以禁止一個命令
# rename-command CONFIG ""
################################### LIMITS ####################################

# 設置能連上redis的最大客戶端連接數量。默認是10000個客戶端連接。由於redis不區分連接是客戶端連接還是內部打開文件或者和slave連接等,所以maxclients最小建議設置到32。如#果超過了maxclients,redis>會給新 # 連接發送’max number of clients reached’,並關閉連接。
# maxclients 10000

#redis配置的最大內存容量。當內存滿了,需要配合maxmemory-policy策略進行處理。注意slave的輸出緩衝區是不計算在maxmemory內的。所以爲了防止主機內存使用完,建議設置的maxm#emory需要更小一些。
# maxmemory <bytes>

lazyfree-lazy-eviction no


lazyfree-lazy-eviction no
lazyfree-lazy-expire no
lazyfree-lazy-server-del no
replica-lazy-flush no

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

#aof文件名
appendfilename "appendonly.aof"

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

# 在aof重寫或者寫入rdb文件的時候,會執行大量IO,此時對於everysec和always的aof模式來說,執行fsync會造成阻塞過長時間,no-appendfsync-on-rewrite字段設置爲默認設置爲no##。如果對延遲要求很高的應用
,這個#字段可以設置爲yes,否則還是設置爲no,這樣對持久化特性來說這是更安全的選擇。設置爲yes表示rewrite期間對新寫操作不fsync,暫時存在內存##中,等rewrite完成後再寫入,默認爲no,建議yes。Linux的>默認fsync策略是3#0秒。可能丟失30秒數據。
no-appendfsync-on-rewrite no

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

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

#aof文件可能在尾部是不完整的,當redis啓動的時候,aof文件的數據被載入內存。重啓可能發生在redis所在的主機操作系統宕機後,尤其在ext4文件系統沒有加上data=ordered選項(r#edis宕機或者異常終止不會造
成尾部不##完整現象。)出現這種現象,可以選擇讓redis退出,或者導入儘可能多的數據。如果選擇的是yes,當截斷的aof文件被導入的時候,會自動發佈#一個log給客戶端然後load。如果是no,用戶必須手動redis-check-#aof修復AOF文件纔可以。
aof-load-truncated yes

# 如果達到最大時間限制(毫秒),redis會記個log,然後返回error。當一個腳本超過了最大時限。只有SCRIPT #KILL和SHUTDOWNNOSAVE可以用。第一個可以殺沒有調write命令的東西。#要是已經調用了write,只能>用第二個命令殺。
lua-time-limit 5000

aof-use-rdb-preamble yes


################################ REDIS CLUSTER ###############################
#集羣開關,默認是不開啓集羣模式。
# cluster-enabled yes

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

#節點互連超時的閥值。集羣節點超時毫秒數
# cluster-node-timeout 15000

#在進行故障轉移的時候,全部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-slave-validity-factor 10

#master的slave數量大於該值,slave才能遷移到其他孤立master上,如這個參數若被設爲2,那麼只有當一個主節點擁有2 個可工作的從節點時,它的一個從節點會嘗試遷移。
# cluster-migration-barrier 1

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

################################## SLOW LOG ###################################
###slog log是用來記錄redis運行中執行比較慢的命令耗時。當命令的執行超過了指定時間,就記錄在slow log中,slog log保存在內存中,所以沒有IO操作。
#執行時間比slowlog-log-slower-than大的請求記錄到slowlog裏面,單位是微秒,所以1000000就是1秒。注意,負數時間會禁用慢查詢日誌,而0則會強制記錄所有命令。
slowlog-log-slower-than 10000

#慢查詢日誌長度。當一個新的命令被寫進日誌的時候,最老的那個記錄會被刪掉。這個長度沒有限制。只要有足夠的內存就行。你可以通過 SLOWLOG RESET 來釋放內存。
slowlog-max-len 128

################################ LATENCY MONITOR ##############################
#延遲監控功能是用來監控redis中執行比較緩慢的一些操作,用LATENCY打印redis實例在跑命令時的耗時圖表。只記錄大於等於下邊設置的值的操作。0的話,就是關閉監視。默認延遲監##控功能是關閉的,如果你需要
打開,也可以##通過CONFIG SET命令動態設置。
latency-monitor-threshold 0

notify-keyspace-events ""

############################### ADVANCED CONFIG ###############################
#數據量小於等於hash-max-ziplist-entries的用ziplist,大於hash-max-ziplist-entries用hash
hash-max-ziplist-entries 512

#value大小小於等於hash-max-ziplist-value的用ziplist,大於hash-max-ziplist-value用hash。
hash-max-ziplist-value 64

list-max-ziplist-size -2

list-compress-depth 0

#數據量小於等於set-max-intset-entries用iniset,大於set-max-intset-entries用set。
set-max-intset-entries 512

#數據量小於等於zset-max-ziplist-entries用ziplist,大於zset-max-ziplist-entries用zset。
zset-max-ziplist-entries 128

#value大小小於等於zset-max-ziplist-value用ziplist,大於zset-max-ziplist-value用zset。
zset-max-ziplist-value 64

#value大小小於等於hll-sparse-max-bytes使用稀疏數據結構(sparse),大於hll-sparse-max-#bytes使用稠密的數據結構(dense)。一個比16000大的value是幾乎沒用的,建議的valu#e大概爲3000。如果對CPU要求
不高,對空間要求較高的,建議設置到10000左右。
hll-sparse-max-bytes 3000

stream-node-max-bytes 4096
stream-node-max-entries 100

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

##對客戶端輸出緩衝進行限制可以強迫那些不從服務器讀取數據的客戶端斷開連接,用來強制關閉傳輸緩慢的客戶端。
#對於normal client,第一個0表示取消hard limit,第二個0和第三個0表示取消soft limit,normal client默認取消限制,因爲如果沒有尋問,他們是不會接收數據的。
client-output-buffer-limit normal 0 0 0

#對於slave client和MONITER client,如果client-output-buffer一旦超過256mb,又或者超過64mb持續60秒,那麼服務器就會立即斷開客戶端連接。
client-output-buffer-limit replica 256mb 64mb 60

#對於pubsub client,如果client-output-buffer一旦超過32mb,又或者超過8mb持續60秒,那麼服務器就會立即斷開客戶端連接。
client-output-buffer-limit pubsub 32mb 8mb 60

#redition file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加
:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511


#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0

#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)
daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

# redis configuration file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加
:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511

#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0


#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)
daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

# redis configuration file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加
:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511

#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0

#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)

daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

# redis configuration file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加
:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511

#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0

#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)
daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

# redis configuration file example.
# ./redis-server /path/to/redis.conf

################################## INCLUDES ###################################
# 這在你有標準配置模板但是每個redis服務器又需要個性設置的時候很有用。
# include /path/to/local.conf
# include /path/to/other.conf

# 允許訪問的服務器ip
bind 0.0.0.0

# 3.2裏的參數,是否開啓保護模式,默認開啓。要是配置裏沒有指定bind和密碼。開啓該參數後,redis只會本地進行訪問,拒絕外部訪問。要是開啓了密碼   和bind,可以開啓。否  ## 則最好關閉,設置爲no。
protected-mode yes

# Redis監聽的端口
port 6379

# 此參數確定了TCP連接中已完成隊列(完成三次握手之後)的長度, 當然此值必須不大於Linux系統定義的/proc/sys/net/core/somaxconn值,默認是511,而Linux的默認參數值是128。當
#系統併發量大並且客戶端速度緩慢的#時候,可以將這二個參數一起參考設定。該內核參數默認值一般是128,對於負載很大的服務程序來說大大的不夠。一般會將它修改爲2048或者更大##。在/etc/sysctl.conf中添加
:net.core.somaxconn = #2048,然後在終端中執行sysctl -p。
tcp-backlog 511

#配置unix socket來讓redis支持監聽本地連接。
# unixsocket /var/run/redis/redis.sock
#配置unix socket使用文件的權限
# unixsocketperm 700

# 此參數爲設置客戶端空閒超過timeout,服務端會斷開連接,爲0則服務端不會主動斷開連接,不能小於0。
timeout 0

#tcp keepalive參數。如果設置不爲0,就使用配置tcp的SO_KEEGOCALIVE值,使用keepalive有兩個好處:檢測掛掉的對端。降低中間設備出問題而導致網絡看似連接卻已經與對端端口的問
#題。在Linux內核中,設置了keepalive#,redis會定時給對端發送ack。檢測到對端關閉需要兩倍的設置值。
tcp-keepalive 300


################################ GENERAL #####################################
#是否在後臺執行,yes:後臺運行;no:不是後臺運行(老版本默認)
daemonize yes

supervised no

#redis的進程文件
pidfile /var/run/redis_6379.pid

#指定了服務端日誌的級別。級別包括:debug(很多信息,方便開發、測試),verbose(許多有用的信息,但是沒有debug級別信息多),notice(適當的日誌級別,適合生產環境),wa#rn(只有非常重要的信息)
loglevel notice

#指定了記錄日誌的文件。空字符串的話,日誌會打印到標準輸出設備。後臺運行的redis標準輸出是/dev/null。
logfile "/dev/null"

#是否打開記錄syslog功能
# syslog-enabled no

#syslog的標識符。
# syslog-ident redis

#執行任務的頻率爲1s除以hz。 
hz 10

dynamic-hz yes

#在aof重寫的時候,如果打開了aof-rewrite-incremental-fsync開關,系統會每32MB執行一次fsync。這對於把文件寫入磁盤是有幫助的,可以避免過大的延遲峯值。
aof-rewrite-incremental-fsync yes
rdb-save-incremental-fsync yes
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章