官網http://redis.io/download下載xxx.tar.gz二進制壓縮包,注意下載2.8+版本,2.8以前的版本以前從服務器不支持部分重複制,2.6以前的版本不支持setnx命令redis
解壓安裝bash
#解壓 tar -zxvf xxx.tar.gz #進入目錄 cd redisxxxx #編譯安裝到/usr/local/redis目錄下 sudo make PREFIX=/usr/local/redis install #從安裝包中找到redis的配置文件,拷貝到根目錄下 sudo cp redis.conf /usr/local/redis #啓動redis ./redis-server ../redis.conf
一臺主服務器,使用默認配置便可,一臺從服務器,配置要複製的主服務 SALVEOF host port,若是你熟悉redis配合的話,你會發現默認給的配置文件裏一個大項一個大項的分好了服務器
按單機環境安裝好redis,注意我這邊因爲本地環境問題,直接在redis/src目錄下啓動的學習
準備兩份配置文件redis_6379.conf和redis_6380.conf,修改對應的端口號測試
redis_6379.conf配置以下spa
# 修改啓動方式爲後臺啓動,此處爲學習能夠暫不開啓,這樣能夠直接看到啓動日誌,生產部署也建議調試好後再啓動後臺方式 daemonize no 修改成: daemonize yes (後臺程序方式運行) # 修改pid文件名 pidfile /var/run/redis.pid 修改成: pidfile /var/run/redis_6379.pid # 若是有密碼主從服務器都須要新增相關的auth的配置
redis_6380.conf配置以下調試
# 修改啓動方式爲後臺啓動,此處爲學習能夠暫不開啓,這樣能夠直接看到啓動日誌,生產部署也建議調試好後再啓動後臺方式 daemonize no 修改成: daemonize yes (後臺程序方式運行) # 修改pid文件名 pidfile /var/run/redis.pid 修改成: pidfile /var/run/redis_6380.pid # 從節點新增配置複製主機,增長這一行 slaveof 127.0.0.1 6379 # 若是有密碼主從服務器都須要新增相關的auth的配置
啓動,此處是mac環境經過brew安裝,直接命令+指定conf方式啓動日誌
# 啓動主機器 ./src/redis-server ../redis_6379.conf # 啓動從服務器 ./src/redis-server ../redis_6380.conf
測試code
#鏈接到主服務器 redis-cli -h localhost -p 6379 # 查看服務器信息 info # 測試主從數據是否同步,在主服務器set,在從服務器get
遇到的問題server
*** FATAL CONFIG FILE ERROR *** Reading the configuration file, at line 194 'always-show-logo yes' Bad directive or wrong number of arguments
遇到這個問題的緣由是,我本地的環境是mac,除了上面方式安裝的redis 還有個homebrew安裝的redis,經過brew info redis 命令能夠看到是4.0.1版本的,我啓動命令是運行的3.2.8,配置使用的4.0.1的,因此不匹配。