一:redis安装
正常是通过官网下载压缩包,然后解压后进行make编译,得到要使用的,这一步贼简单,直接跳过了,主要介绍如何进行配置,如果不想自己编译的,也可直接下载我编译好的,该版本是redis6.2.3。附上下载连接~下面进入主题
1.修改redis.config文件
(1)我们肯定是redis和使用项目不在一个机器,所以将绑定本机的给注释掉,在redis3.2之后新增了protected-mode配置,默认是yes, 我们这里还要将他改成no。protected-mode(保护模式)
(2)指定Redis 只接收来自于该IP 地址的请求,如果不进行设置,那么将处理所有请求,在生产环境中为了安全最好设置该项。默认注释掉,不开启,该处注释bind,都可以进行访问
(3)修改指定端口
(4)设置为后台保护进程启动,不设置关闭会话后服务出现停止,因此将daemonize设置为yes
为方便后面主从和哨兵配置,我将端口修改为6386
然后启动redis
./redis-server redis.conf
(5)正常上述这些基本配置就可以,剩下是一些其他配置,包括pidfile /var/run/redis.pid 当Redis 在后台运行的时候,Redis 默认会把pid 文件放在/var/run/redis.pid,你可以配置到其他地址。当运行多个redis 服务时,需要指定不同的pid
然后本地测试:./src/redis-cli -h localhost -p 6386
-h 是连接的主机ip,host的缩写,-p 是端口 port的缩写 ,-a 后面是密码(requirepass 后面配置的)auth的缩写 (这里我们没有设置密码所以不用输入)
这样redis就安装完毕。
二:主从同步
因为机器有限,我们暂时采用一主一从配置,一主多从是一样的配置方法,都可用
准备两个redis服务,依次命名文件夹子6836,6837
- 接下来配置redis.config
Master为刚才6836的配置一样;
2.Slave修改配置:
端口修改为:6837
新增:slaveof 127.0.0.1 6386 (后面IP为实际master所在ip)
新增: masterauth 123456 (这里是master的密码 如果没有设置则不写)
requirepass 123456(这里是slave1的密码 如果没有设置则不写)
如有其他从节点,配置内容一样,只是更改端口即可
将配置文件放在各自redis目录下,和redis-service同级
3.启动两个redis
./redis-server ./redis6386.conf
./redis-server ./redis6387.conf
测试方法就是连上 master的存储一个值然后再连接上salve的获取这个值能获取则表示成功
Master 提供读写,slave同步数据,只能读,不能写。
三:哨兵模式:
因为有两个实例,我们就配置两个哨兵,来实现主从切换的功能,类似与zookeeper。正常是三个哨兵,进行选举
将编译文件下的sentinel.conf文件拷贝过来,进行修改
命名为sentinel-6386.conf和sentinel-6387.conf
修改端口为26836
修改sentinel (这里是代表主机是 本地ip的6360端口 这个后面的数字2,是指当有两个及以上的sentinel服务检测到master宕机,才会去执行主从切换的功能,我们现在只有两个,暂设为1)
修改进程id
将 sentinel.config分别放到不同的文件夹下,对应redis。
启动sentinel服务
./redis-sentinel ./sentinel-6367.conf
./redis-sentinel ./sentinel-6386.conf
客户端连接后,通过info查看主从节点,通过手动停止master节点,稍等片刻,info查看节点信息,会自动切换,节点发生变化
四: cluster集群模式
集群模式也很简单,要求三台起步,部署三主三从,后面再进行补充