单机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-aof | aof文件检测的工具 |
redis-check-rdb | rdb文件检查工具 |
redis-sentinel | sentinel服务器配置 |
强大的info命令
信息类型 | 解释 |
---|---|
Server | 服务端运行的信息 |
Clients | 客户端相关的信息 |
Memory | 服务端运行内存统计数据 |
Persistence | 持久化信息 |
Stats | 通用统计信息 |
Replication | 主从复制相关信息 |
CPU | cpu使用情况 |
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