安装Redis
Redis 是一个高性能的key-value数据库。常用作缓存服务器使用。
1. 下载redis安装包,redis-3.2.11.tar.gz(http://download.redis.io/releases/redis-3.2.11.tar.gz)
> wget http://download.redis.io/releases/redis-3.2.11.tar.gz
2. 将安装包放到/usr/local/src/目录下
> mv redis-3.2.11.tar.gz /usr/local/src/
3. 解压安装包
> tar zxvf redis-3.2.11.tar.gz
4. 进入解压后的目录
> cd redis-3.2.11
5. 编译并安装(PREFIX指定目录)
> make PREFIX=/usr/local/redis install
6. 修改redis.conf
daemonize yes #后台运行
7. 将Redis的bin目录(/usr/local/redis/bin)加到系统环境变量中
8. 运行redis(后面加上文件名启动配置才能生效)
> redis-server redis.conf
9. 查看Redis是否已启动
ps -ef|grep redis
配置主从复制应对高并发
配置主从复制实现数据备份,确保数据安全,多个从同时提供读服务,提高并发访问量。
1. 进入redis主目录,将所有正在运行的redis进程关闭。
# redis-cli -p 6379 shutdown
2. 复制两份redis.conf文件,并命名为slave1.conf和slave2.conf。
# cp redis.conf slave1.conf
# cp redis.conf slave2.conf
3. 修改redis.conf、slave1.conf和slave2.conf,修改端口号,使一主两从共三个redis实例不冲突。
redis.conf修改port为6379
slave1.conf修改port为6380
slave2.conf修改port为6381
4. 分别启动三个redis实例。
> redis-server redis.conf
> redis-server slave1.conf
> redis-server slave2.conf
5. 启动后,分别进入两个slave实例客户端执行下面的命令:
> redis-cli -p 6380
127.0.0.1:6380> slaveof 127.0.0.1 6379 #指定本实例成为本机6379端口实例的slave
127.0.0.1:6380> exit
> redis-cli -p 6381
127.0.0.1:6381> slaveof 127.0.0.1 6379 #指定本实例成为本机6379端口实例的slave
127.0.0.1:6381> exit
开启哨兵实现高可用
开启哨兵监控redis服务的运行状态,当出现主服务异常关闭的情况时,哨兵会选举一个从服务为新的主服务,确保服务集群的高可用。
1. 进入redis主目录。
2. 复制两份sentinel.conf文件,并命名为sentinel1.conf和sentinel2.conf。
cp sentinel.conf sentinel1.conf
cp sentinel.conf sentinel2.conf
3. 修改sentinel1.conf和sentinel2.conf,修改端口号,使两个sentinel实例不冲突。
sentinel1.conf修改port为26380
sentinel2.conf修改port为26381
4. 分别启动两个sentinel实例。
> redis-sentinel sentinel1.conf &
> redis-sentinel sentinel2.conf &
开启成功后,当主redis实例异常关闭后,sentinel会从两个从redis实例中选出一个成为新的主人redis实例
当遇异常关闭的redis实例重新启动后,会变成新主人的从redis。
如果你的主从不在同一台服务器上,建议使用redis.conf中的bind绑定多个IP,不建议注释掉IP绑定使用密码来访问,更不要直接关闭保护模式。Redis本身是缓存服务器,为安全起见,不应该暴露在公网中。