1.準備
1.1.在/usr/local目錄下新建redis目錄,並且進入,下載
wget http://download.redis.io/releases/redis-2.8.6.tar.gz
1.2.解壓
tar xzf redis-2.8.6.tar.gz
1.3.安裝gcc環境等基本組件
yum -y install gcc automake autoconf libtool make
2.安裝
2.1進入根目錄
cd redis-2.8.6/
2.2編譯安裝
make
3.部署
3.1運行腳本,在redis目錄下生成bin
make install PREFIX=/usr/local/redis
3.2在/usr/local/redis目錄下新建/etc目錄
mkdir etc
3.3將redis-2.8.6目錄下的配置文件redis.conf移動到/etc目錄下
4.在目錄(/usr/local/redis)下運行
./bin/redis-server ./etc/redis.conf
5.停止運行
bin/redis-cli shutdown
6.查看redis節點狀態
運行 bin/redis-cli
輸入命令 info
---------------------------------------------------------------------------題外話1-------------------------------------------------------------------------------
配置參考:
daemonize yes
pidfile /usr/local/redis/redis.pid
port 6379
tcp-backlog 511
timeout 0
tcp-keepalive 0
loglevel notice
logfile /home/local/redis/log/redis-server.log
databases 16
save 900 1
save 300 10
save 60 10000
stop-writes-on-bgsave-error yes
rdbcompression yes
rdbchecksum yes
dbfilename dump.rdb
dir /home/local/redis/data
slave-serve-stale-data yes
slave-read-only yes
repl-disable-tcp-nodelay no
slave-priority 100
############################## AOF ###############################
appendonly no
appendfilename "appendonly.aof"
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb
lua-time-limit 5000
slowlog-log-slower-than 10000
slowlog-max-len 128
notify-keyspace-events ""
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64
activerehashing yes
client-output-buffer-limit normal 0 0 0
client-output-buffer-limit slave 256mb 64mb 60
client-output-buffer-limit pubsub 32mb 8mb 60
hz 10
aof-rewrite-incremental-fsync yes
官網參考:https://redis.io/download
配置參考:https://www.cnblogs.com/zhang-ke/p/5981108.html
-------------------------------------------------------------------題外話2-------------------------------------------------------------------
redis主從
1.按照上述配置在主從服務器上安裝完redis
2.主從服務器修改hosts
172.16.0.6 redis.master.idc.baiduyun.com
172.16.0.4 redis.slave1.idc.baiduyun.com
3.在從服務器上修改redis配置文件
slaveof redis.master.idc.baiduyun.com 6379
4.主從服務器啓動redis,驗證
主服務器上運行./bin/redis-cli客戶端腳本,輸入:
set key1 val1
從服務器上運行./bin/redis-cli客戶端腳本,輸入:
get key1
-------------------------------------------------------------題外話3--------------------------------------------------------------------------------
redis sentinel集羣搭建(3臺雲服務器,redis集羣和sentinel集羣生成環境中在不同的服務器上,這裏因爲只有3臺雲服務器,所以複用)
1.在每臺服務器上安裝redis(可以參考上面安裝)
2.在/usr/local/redis/etc目錄下新建配置文件sentinel.conf,文件內容如下:
port 26379
logfile "sentinel.log"
dir /home/local/redis-sentinel/log/
sentinel monitor mymaster redis.master.idc.baiduyun.com 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
3.在每臺服務器的/usr/local/redis/目錄下運行:
./redis-2.8.6/src/redis-sentinel /usr/local/redis/etc/sentinel.conf > /home/local/redis-sentinel/tmp/tmp.log &
4.查看sentinel狀態
連接sentinel
bin/redis-cli -p 26379
查看狀態
info
5. 測試
將redis主節點停用,1分鐘後(在配置文件中有機器檢測時間的限制,所以redis節點掛掉後不會立刻被sentinel發現)查看每個redis節點的狀態,會發現主節點隨機轉移到某個從節點
ps:sentinel節點之間通過向redis主節點發布訂閱消息來發現其他sentinel節點