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等方面。