redis安装哨兵模式配置

1.基础安装与启动

1.创建安装目录
mkdir /usr/local/redis 
2.进入安装包目录
cd /usr/local/src
3.进行下载安装包
wget http://download.redis.io/releases/redis
4.进行解压
tar -xzvf redis-6.2.6.tar.gz   # 具体看下载的版本包名称
5.进入redis
cd redis-6.2.6
6.安装到指定目录中
make PREFIX=/usr/local/redis install 
报错zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory  #include 执行下面命令
make PREFIX=/usr/local/redis MALLOC=libc install

报错缺少包
yum install -y gcc
yum install -y tcl
7.配置文件,拷贝redis.conf到安装目录下
cp redis.conf /usr/local/redis/bin/
8.启动服务
cd /usr/local/redis/bin
./redis-server /usr/local/redis/bin/redis.conf
9.启动客户端
./redis-cli
2.修改配置
备份redis.conf文件
cp redis.conf redis.conf.back 
修改redis.conf文件 后台启动
daemonize yes    从no修改为yes
修改redis.conf文件 配置redis密码
requirepass 123456789
修改redis.conf文件 允许远程连接
# bind 127.0.0.1 注释掉 默认注释就不需要操作
关闭防火墙
systemctl stop firewalld
配置环境变量
 # 进入安装目录
cd /usr/local/redis/bin    
# 编辑安装目录下bash_profile文件 tab键会给提示 该文件为隐藏文件
vi ~/.bash_profile   
修改文件内容 # 替换的路径为redis安装包下的src目录
PATH=$PATH:$HOME/bin 为
PATH=$PATH:$HOME/bin:/usr/local/src/redis-6.2.6/src  

退出
:wq

重新加载该文件
source ~/.bash_profile

3.基本命令使用
启动redis
启动redis服务端
	1. redis-server redis.conf   启动服务
	2. redis-sentinel redis-sentinel.conf 启动哨兵模式,哨兵模式部署使用

启动redis客户端
	1. redis-cli -a [密码] 按照上述操作写入密码, 使用此命令
	2. redis-cli -h [IP] -p [端口] -a[密码]
	3. redis-cli
	
15 关闭服务
	进入客户端 shutdown
	或者redis-cli shutdown
	检查是否杀死服务
	ps -ef|grep redis
命令使用
1. 查看键
	1. keys * 
	2. keys [键] 不区分类型

2. 查看值
	1. get [键] 不区分类型
	
3. 查看键的过期时间
	1. ttl [键]   返回-1表示一直存在, -2表示过期
	
4. 查看键是否存在
	1. exist [键]   存在返回1   不存在返回0
	
5. 查看键对应值的类型
	1. type [键]

10. 查看当前数据库的 key 的数量
	1. dbsize
	
12. 选择不同数据库 默认有16个数据库 编号0-15
	select 1
	
6. 删除键值
	1. del [键]
	2. unlink [key] 非阻塞删除4.0版本以上	
	
7. 设置过期时间
	1. expire [键] [时间]  单位s
	
8. 插入键值对, 修改键对应的值
	1. set [key] [value]

9. 重命名键
	1. rename [oldkey] [newkey]

11. 清空当前库
	1.flushdb
	2. flushdb async 非阻塞删除4.0版本以上
	
12. 清空所有库 默认一共16个
	1. flushall
	2. flushall async 非阻塞删除4.0版本以上


4.哨兵模式部署
环境
两台虚拟机
创建数据存放目录
mkdir /data
mkdir /data/redis
mkdir /data/redis/redis-log
mkdir /data/redis/data
配置Redis的主虚拟机,修改/etc/master/redis.conf
mkdir /etc/master
cp /usr/local/src/redis-6.2.6/redis.conf /etc/master/
vi /etc/slave/redis.conf  修改内容如下全部替换即可
# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"
# 设置密码
requirepass "123456"
# 主服务器密码,注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
masterauth 123456 
配置Redis的从虚拟机,修改/etc/slave/redis.conf
mkdir /etc/slave
cp /usr/local/src/redis-6.2.6/redis.conf /etc/slave/
vi /etc/slave/redis.conf 修改内容如下全部替换即可
# 使得Redis服务器可以跨网络访问
bind 0.0.0.0
dir "/data/redis/data"
daemonize yes
logfile "/data/redis/redis-log/redis.log"

# 设置密码
requirepass "123456"

# 主服务器密码,,这个都要配置,不然主从无法用
masterauth 123456
# 注意:有关slaveof的配置只是配置从服务器,主服务器不需要配置
slaveof 192.168.95.101 6379   # IP根据自己环境修改
启动服务端路径按照自己的安装目录
redis-server /etc/master/redis.conf  
redis-server /etc/slave/redis.conf
启动测试端
redis-cli -a 123456
set 1 2
查看双机是否都有数据
备份 sentinel.conf配置
cd /usr/local/src/redis-6.2.6
cp sentinel.conf /root/
vi sentinel.conf
修改sentinel.conf配置
修改 
daemonize yes

# 添加如下内容IP地址根据自己修改
sentinel monitor mymaster 192.168.10.195 6379 2
sentinel down-after-milliseconds mymaster 30000
sentinel parallel-syncs mymaster 1
sentinel failover-timeout mymaster 180000
sentinel deny-scripts-reconfig yes
sentinel auth-pass mymaster 123456
测试效果
主机在客户端下输入 shutdown等待 30S查看备机状态
查看命令info Replication 
显示role:master 成功
重启备机 发现正常同步 成功

你可能感兴趣的:(redis,数据库,缓存)