Redis源码解析:Redis主从,哨兵集群搭建

在这里插入图片描述

单机Redis搭建

CenOs6.9安装Redis5.0.10

wget http://download.redis.io/releases/redis-5.0.10.tar.gz
tar -xvf redis-5.0.10.tar.gz
cd redis-5.0.10
make

执行如下命令即可启动Redis服务(使用的是默认配置)

cd src
./redis-server

也可以指定配置文件启动

./redis-server ../redis.conf

一些常用的配置如下。后续会逐渐介绍各种配置

# 设置后台启动
daemonize yes

# 设置外网访问(注释掉bind 127.0.0.1,protected-mode值设为no)
#bind 127.0.0.1
protected-mode no

使用测试客户端程序redis-cli和redis服务交互

cd src
./redis-cli

关闭redis

通过源码方式安装的方式,进入src目录

./redis-cli -h 127.0.0.1 -p 6379 shutdown

如果还是不行

kill -9 pid

一些常用的命令如下

命令作用
redis-server启动服务
redis-cli访问到redis的控制台
redis-benchmark性能测试的工具
redis-check-aofaof文件检测的工具
redis-check-rdbrdb文件检查工具
redis-sentinelsentinel服务器配置

强大的info命令

信息类型解释
Server服务端运行的信息
Clients客户端相关的信息
Memory服务端运行内存统计数据
Persistence持久化信息
Stats通用统计信息
Replication主从复制相关信息
CPUcpu使用情况
Cluster集群信息
Keyspace键值对统计数量信息
// 获取所有的信息
127.0.0.1:6379> info

// 获取内存相关信息
127.0.0.1:6379> info memory

// 获取cpu相关信息
127.0.0.1:6379> info cpu

主从集群搭建

复制主节点的redis.conf并修改如下内容,启动3个从节点,端口分别为6380和6381

redis_6380.conf

port 6380
replicaof 127.0.0.1 6379

redis_6381.conf

port 6381
replicaof 127.0.0.1 6379

redis_6382.conf

port 6382
replicaof 127.0.0.1 6379

启动2个从节点

./redis-server ../redis-6380.conf

./redis-server ../redis-6381.conf

./redis-server ../redis-6382.conf
127.0.0.1:6379> info replication
# Replication
role:master
connected_slaves:2
slave0:ip=127.0.0.1,port=6380,state=online,offset=42,lag=1
slave1:ip=127.0.0.1,port=6381,state=online,offset=42,lag=0
master_replid:73683678c2d0327297f1b1d7c8942ad114eaf5b3
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:42
second_repl_offset:-1
repl_backlog_active:1
repl_backlog_size:1048576
repl_backlog_first_byte_offset:1
repl_backlog_histlen:42

执行info replication可以看到2个slave已经连接到master了

哨兵集群搭建

sentinel.conf相关的配置如下,修改端口启动3个sentinel实例即可,端口分别为26379,26380和26381

# 设置后台启动
daemonize yes

# 设置启动端口
port 26379

# 设置master地址和端口
# quorum有2个作用,1.判断master主观下线 2.成为领头sentinel需要的票数
# sentinel monitor <master-name> <ip> <redis-port> <quorum>
sentinel monitor mymaster 127.0.0.1 6379 2

# 在30000毫秒之内master没有响应,则认为是sdown(主观下线)
sentinel down-after-milliseconds mymaster 30000

启动

./redis-sentinel ../sentinel.conf

./redis-sentinel ../sentinel-26380.conf

./redis-sentinel ../sentinel-26381.conf

参考博客

Redis实战各语言版本代码
[1]https://github.com/josiahcarlson/redis-in-action
redis主从哨兵配置
[4]https://mp.weixin.qq.com/s/q79ji-cgfUMo7H0p254QRg

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java识堂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值