Redis 部署
Redis是一個和Memcached類似的鍵值對緩存系統,但是Redis相比Memcached主要有兩大優勢:1、Redis支持持久化,也就是說Redis在系統重啟或者內存溢出後,重啟Redis系統之前的熱門數據還是會被加載到內存中。2、Redis比Memcached更容易做集群化系統,最簡單的主從Redis支持兩種模式,①、Redis支持系統直接啟動主從模式slaveof(只是該模式在Master故障後,Slave不能接替Master寫入數據),②Redis支持哨兵模式,該模式是在Master/Slave模式的優化,支持Master故障後,自動在Slave選舉一臺升級為Master接替故障的Master,同時在生產環境中也經常使用該模式配置Keepalived(既:Redis哨兵+Keepalived)以實現HA。而Memcached的集群環境一般采用環形模式,實現比較復雜同時每增加或減少一臺服務器都會對其他服務器的緩存內容有所影響。
本文是個人編寫Redis系列的開篇,主要講解Redis的安裝部署。
Redis部署安裝非常簡單,部署安裝模式也非常多,例如:yum安裝、rpm安裝、源碼安裝等等,可以根據個人愛好習慣進行安裝,我主要以源碼安裝為主。本次安裝的Redis版本為:3.2.8。下載地址:http://download.redis.io/releases/redis-3.2.8.tar.gz 。服務器版本為:CentOS 6.5 x64
Redis的源碼安裝非常簡單,如下:
wget http://download.redis.io/releases/redis-3.2.8.tar.gz tar xf redis-3.2.8.tar.gz cd redis-3.2.8 #編譯與安裝 make && make install
接下來配置Redis基礎部分,如下:
#首先創建Redis目錄,方便後期維護 mkdir -p /usr/local/redis/bin mkdir -p /usr/local/redis/etc #拷貝Redis命令 cp /usr/local/bin/redis-* /usr/local/redis/bin/ #拷貝Redis配置文件 #註意:在Redis源碼編譯安裝完成後,在源碼目錄有兩個配置文件後期會使用到,redis.conf和sentinel.conf cp redis.conf /usr/local/redis/etc
然後,簡單配置Redis的配置文件(Redis配置文件詳細說明後面會專門寫文章說明),如下:
#該說明幾個需要修改的參數,並沒有列出所有參數,Redis配置文件詳解後期專門寫文章進行講解 vim /usr/local/redis/etc/redis.conf #Redis監聽地址,默認是127.0.0.1 bind 0.0.0.0 #Redis默認端口,默認監聽地址與端口根據實際情況而定是否需要修改 port 6379 #該參數是指Redis是否在後臺以守護進程運行,默認是no,需要改為yes daemonize yes #Redis啟動後默認的PID文件存放位置,可以自定義 pidfile /var/run/redis_6379.pid #Redis啟動後默認的日誌文件存放文章 logfile "/app/redis/logs/redis.log" #Redis默認啟動多少庫 databases 16 #下列三個參數是Redis持久化觸發條件 save 900 1 save 300 10 save 60 10000 #Redis持久化存放數據的文件文件名 dbfilename dump.rdb #Redis持久化數據存放目錄 dir /app/redis/data
最後,增加一個Redis的系統服務。
vim /etc/init.d/redis #!/bin/sh # #chkconfig: 2345 90 10 #Description: This is Redis server file # #Source functions libry . /etc/init.d/functions #Server name SNAME=redis-server #Server directory PROG=/usr/local/redis/bin/$SNAME #Server config directory CFG=/usr/local/redis/etc/redis.conf start() { if [ -f /var/lock/subsys/$SNAME ];then echo "$SNAME is already started!" exit 0; else echo "Starting $SNAME ....." $PROG $CFG if [ "$?" -eq "0" ];then touch /var/lock/subsys/$SNAME exit 0; fi exit 0; fi } stop() { echo "Stoping $SNAME ......" killall $SNAME rm -rf /var/lock/subsys/$SNAME } case "$1" in start) start ;; stop) stop ;; restart) stop sleep 3 start ;; *) echo $"Usage: $0 {start|stop|restart}" exit 1 esac #增加服務 chmod 777 /etc/init.d/redis chkconfig --add redis chkconfig --list redis redis 0:off 1:off 2:on 3:on 4:on 5:on 6:off
現在Redis的基礎安裝已經完成了,下面測試一下,如下:
#啟動Redis系統服務 service redis start Starting redis-server ..... ps aux |grep redis root 4045 0.0 0.3 133540 7524 ? Ssl 16:40 0:00 /usr/local/redis/bin/redis-server 0.0.0.0:6379 root 4050 0.0 0.0 103260 876 pts/0 S+ 16:40 0:00 grep redis #使用Redis客戶端命令連接測試 /usr/local/redis/bin/redis-cli 127.0.0.1:6379> KEYS * (empty list or set) 127.0.0.1:6379> set name ray OK 127.0.0.1:6379> KEYS * 1) "name" 127.0.0.1:6379>
至此,Redis基礎安裝已完成,下面一章將講解Redis配置密碼訪問,並陸續講解Redis的配置文件詳解,Redis哨兵配置,Redis哨兵+Keepalived等方面。
Redis 部署