Redis简介、Linux安装、主从复制配置、哨兵机制配置
Redis简介
Redis是非关系型数据库,该数据库是为了减轻对数据库的访问压力。一般的应用场所比如:短信验证码的时间有效期、关于在服务器使用集群时候的保证session共享的解决方案、解决使用集群带来的幂等性的问题使用全局id防止重复提交、大量静态数据的存储。
Redis的5种基本类型:String、List、Set、Sorted Set、Hash --一般使用String类型,因为在互联网当中使用http传输数据时使用JSON+Restful格式进行传输。
Linux下安装
Redis的官方下载网址是:http://redis.io/download (这里下载的是Linux版的Redis源码包)
Redis服务器端的默认端口是6379。
这里以虚拟机中的Linux系统如何安装Redis进行讲解。(我的虚拟机安装的是CenterOS-6.4)
1.将源码的压缩包放到Linux系统中来,我安装的目录在/usr/etc/redis
2.解压 tar -zxf redis-2.6.17.tar.gz 切换到解压目录 cd /usr/etc/redis/redis-5.0.3
3.编译
make
(注意,编译需要C语言编译器gcc的支持,如果没有,需要先安装gcc。可以使用rpm -q gcc查看gcc是否安装)
(利用yum在线安装gcc的命令 yum -y install gcc )
(如果编译出错,请使用make clean清除临时文件。之后,找到出错的原因,解决问题后再来重新安装。 )
4. 进入到src目录。
cd src
5. 执行安装。
make install
6.开放linux 6379 端口
->编辑 /etc/sysconfig/iptables 文件:vi /etc/sysconfig/iptables
加入内容并保存:-A RH-Firewall-1-INPUT -m state –state NEW -m tcp -p tcp –dport 6379 -j ACCEPT
->重启服务:/etc/init.d/iptables restart
->查看端口是否开放:/sbin/iptables -L -n
7.启动redis服务
/usr/local/bin/redis-server
或
cd /usr/local/bin
./redis-server /usr/local/etc/redis.conf 为redis-server指定配置文件
8.修改配置文件 redis.conf
daemonize yes --- 修改为yes 后台启动
requirepass 123456 ----注释取消掉设置账号密码
ps aux | grep '6379' --- 查询端口
kill -15 9886 --- 杀死重置
kill -9 9886 --- 强制杀死
service iptables stop 停止防火墙
9.redis命令连接
./redis-cli -h 127.0.0.1 -p 6379 -a "123456" --- redis 使用账号密码连接
PING 结果表示成功
10.redis关闭命令
redis-cli shutdown 或者 kill redis进程的pid
主从复制配置
1.为什么要使用主从复制:可以很好的实现数据库的读写分离,提高服务器的负载能力。主数据库主要进行写操作,而从数据库负责读操作。
2.准备三个服务器,可以使用虚拟机的克隆来实现虚拟的三台服务器。记住克隆的服务器的mack地址需要重新生成
3.修改从数据库的配置文件
cd /usr/local/etc vi redis.conf
4.重启redis服务
./redis-server /usr/local/etc/redis.conf
5.查看是否配置成功
启动服务,输入info
哨兵机制配置
理解:哨兵机制其实就是监听这些主备服务器的一个状况,redis采用一主多备的模式。这也是实现高可用的的机制。当主服务器发生宕机,哨兵机制内部使用选举算法进行对主服务器的选举,一般主机才有读写的权限,备机只有读的权限,但是如果主机发生宕机,哨兵机制进行选举出的主机也有读写的权限。注意哨兵机制只负责监听不负责任将宕机的服务器重启,重启是keepalived的监听实现的自动重启
配置:
1.拷贝到etc目录
cp sentinel.conf /usr/local/etc
2.修改sentinel.conf配置文件
sentinel monitor mymast 192.168.232.132 6379 1 #主节点 名称 IP 端口号 选举次数
sentinel auth-pass mymaster 123456
3. 修改心跳检测 5000毫秒
sentinel down-after-milliseconds mymaster 5000
4.sentinel parallel-syncs mymaster 2 --- 做多多少合格节点
5. 启动哨兵模式
./redis-server /usr/local/etc/sentinel.conf --sentinel &
6. 停止哨兵模式
7.效果图