主程序:redis-server
配置文件:/etc/redis.conf
目錄:
1.redis-cli命令
2.conf配置文件
3.主從復制原理與架構實現
4.redis的高可用方案 – sentinel
2.conf配置文件
#### GENERAL ####daemonize yes #以守護進程的方式運行pidfile “/var/run/redis/redis.pid” #pidfileport 6379 #porttcp-backlog 511 #tcp的backlog隊列長度,backlog的長度是未建立的tcp連接和已經建立的tcp連接之和,等待進程從隊列中調用建立的連接。bind 192.168.1.30 10.0.0.1 #監聽的地址,可以指定多個,0.0.0.0代表本機所有所有地址。timeout 5000 #客戶端連接的超時時間,單位是毫秒。loglevel notice #日志的記錄等級。logfile “/var/log/redis/redis.log” #日志的存放位置。databases 16 #redis所啟動的數據庫(名稱空間)數量,可以在cli中通過select #來切換。## SNAPSHOTTING ##save 900 1 #RDB方式的持久化策略,也就是說RDB方式下,數據被定期存儲到磁盤的策略。save 300 10 #此處三個save依次表示,在900秒內,如果1個key發生改變就寫一次磁盤;save 60 10000 #在300秒內,如果10個key發生改變就寫一次磁盤;在60秒內如果10000個key發生改變就寫一次磁盤。stop-writes-on-bgsave-error yes #在bgsave時,發生寫入操作時會報告錯誤么,即在bgsave時不允許寫入數據。rdbcompression yes #rdb文件可以被壓縮。rdbchecksum yes #rdb文件開啟校驗。dbfilename “dump.rdb” #db的名稱為 dump.rdbdir “/redis/data1” #RDB的數據目錄,在指定非默認目錄時,需要修改目錄的屬主屬組為你當前redis進程的屬主屬組,一般為redis。# APPEND ONLY MODE #appendonly yes #開啟AOF持久化方式。appendfilename “appendonly.aof” #AOF文件名。appendfsync everysec #AOF的持久化策略,有三個值,always表示只要發生數據操作就執行保存或者重寫AOF;everysec表示一秒一次;no表示關閉;no-appendfsync-on-rewrite yes #在重寫時將當前AOF的日志存儲在內存中,防止AOF附加操作與重寫產生數據寫入堵塞問題,提高了性能卻增加了數據的風險性。auto-aof-rewrite-percentage 100 #每當AOF日志是上次重寫的一倍時就自動觸發重寫操作。auto-aof-rewrite-min-size 64mb #自動觸發重寫的最低AOF日志大小為64MB,為了防止在AOF數據量較小的情況話頻繁發生重寫操作。aof-load-truncated yes #當redis發生奔潰,通過AOF恢復時,不執行最后最后那條因為中斷而發生問題的語句。#### LIMITS ####maxclients 10000 #限制最大的并發用戶連接數為10000條。# maxmemory <bytes> #限制最大的內存使用量。### SECURITY ###requirepass <password> #設定認證的密碼,如果設定了,在遠程cli登錄,主從配置和sentinel時都需要指定對應參數為此passwd。
3.主從復制原理與架構實現
只需在從節點的配置文件中修改以下配置即可:### REPLICATION ###slaveof 192.168.1.29 6379 #主節點地址,<host> <port>。#masterauth <master-password> #如果設置了訪問認證就需要設定此項。slave-server-stale-data yes #當slave與master連接斷開或者slave正處于同步狀態時,如果slave收到請求允許響應,no表示返回錯誤。slave-read-only yes #slave節點是否為只讀。slave-priority 100 #設定此節點的優先級,是否優先被同步。
4.redis的高可用方案 – sentinel
只需在sentinel節點的配置文件中修改以下配置即可:vim /etc/redis-sentinel.confport 26379#sentinel announce-ip 1.2.3.4 #默認監聽在0.0.0.0 所以此處可以注釋。dir “/tmp”sentinel monitor mymaster 192.168.1.29 6379 1 #sentinel moitor <master-name> <ip> <redis-port> <法定人數quorum>#設定master節點的*名稱*和位置,法定人數表示多少臺sentinel節點認同才可以上線。sentinel down-after-milliseconds mymaster 5000 #如果聯系不到節點5000毫秒,我們就認為此節點下線。sentinel failover-timeout mymaster 60000 #設定轉移主節點的目標節點的超時時長。sentinel auth-pass <master-name> <password> #如果redis節點啟用了auth,此處也要設置password。一些關于sentinel的命令:sentinel master <master-name> #查看此復制集群的主節點信息。sentinel slaves <master-name> #查看此復制集群的從節點信息。sentinel failover <node-name> #切換指定的節點為節點為主節點。
原創文章,作者:z long,如若轉載,請注明出處:http://www.www58058.com/84251