12.ubuntu 16.04.6 安装 redis

1. 安装redis服务端

sudo apt-get install redis-server

2.查看进程

sudo apt-get install redis-server

3.查看服务器状态

netstat -nlt|grep 6379

 4.通过命令本机进入redis控制台

redis-cli

 5.让redis可以通过远程被访问

vi /etc/redis/redis.conf

 重启

sudo /etc/init.d/redis-server restart

检测连接是否成功

1.如何使用账号访问redis

查找文件路径方法

find / -name redis.conf
find / -name sentinel.conf

修改配置文件

vi /etc/redis/redis.conf

 取消注释requirepass启用密码

卸载redis-server

apt-get purge --auto-remove redis-server

 附:

一主一从+哨兵

哨兵机器:

192.168.88.41

192.168.88.42

192.168.88.43

安装哨兵:

sudo apt-get install redis-sentinel

一主一从:

192.168.88.51

192.168.88.52

sudo apt-get install redis-server

# 允许开机启动 

systemctl enable redis 
systemctl enable redis-sentinel

【主配置192.168.88.51】

vi /etc/redis/redis.conf
#主
#支持内网/本地访问,比如 bind 172.31.175.142 127.0.0.1
bind 192.168.88.51 127.0.0.1


【slave的配置192.168.88.52】

vi /etc/redis/redis.conf

#支持内网/本地访问,比如 bind 172.31.175.142 127.0.0.1
bind 192.168.88.52 127.0.0.1
#指定master
slaveof 192.168.88.51  6379
#设置从库只读
slave-read-only yes  

【3台机器的sentinel的配置192.168.88.41/192.168.88.42/192.168.88.43】

 解释:

sentinel monitor <master-name> <ip> <redis-port> <quorum>
告诉sentinel去监听地址为ip:port的一个master,这里的master-name可以自定义,quorum是一个数字,指明当有多少个sentinel认为一个master失效时,master才算真正失效

sentinel auth-pass <master-name> <password>
设置连接master和slave时的密码,注意的是sentinel不能分别为master和slave设置不同的密码,因此master和slave的密码应该设置相同。

sentinel down-after-milliseconds <master-name> <milliseconds> 
这个配置项指定了需要多少失效时间,一个master才会被这个sentinel主观地认为是不可用的。 单位是毫秒,默认为30秒

sentinel parallel-syncs <master-name> <numslaves> 
这个配置项指定了在发生failover主备切换时最多可以有多少个slave同时对新的master进行 同步,这个数字越小,完成failover所需的时间就越长,但是如果这个数字越大,就意味着越 多的slave因为replication而不可用。可以通过将这个值设为 1 来保证每次只有一个slave 处于不能处理命令请求的状态。

sentinel failover-timeout <master-name> <milliseconds>
failover-timeout 可以用在以下这些方面:     
1. 同一个sentinel对同一个master两次failover之间的间隔时间。   
2. 当一个slave从一个错误的master那里同步数据开始计算时间。直到slave被纠正为向正确的master那里同步数据时。    
3.当想要取消一个正在进行的failover所需要的时间。    
4.当进行failover时,配置所有slaves指向新的master所需的最大时间。不过,即使过了这个超时,slaves依然会被正确配置为指向master,但是就不按parallel-syncs所配置的规则来了。
vi /etc/redis/sentinel.conf

daemonize yes
pidfile /var/run/redis/redis-sentinel.pid
logfile /var/log/redis/redis-sentinel.log
bind 192.168.88.41(IP换成当前机器的) 127.0.0.1 
port 26379
dir /var/lib/redis
sentinel monitor mymaster 192.168.88.51((IP换成主机器的))  6379 2
sentinel down-after-milliseconds mymaster 5000
sentinel parallel-syncs mymaster 2
sentinel failover-timeout mymaster 15000

启动

# 启动需要按照Master->Slave->Sentinel的顺序进行启动
# 启动redis
systemctl restart redis
# 启动redis哨兵
systemctl restart redis-sentinel

查看端口运行状态

netstat -anptu | grep redis

查看端口运行状态

检查服务状态:

service redis-sentinel status

验证主从模式

主机器 主服务上登录客户端,添加数据并取得数据:

 从机器 从服务器登录客户端,查询验证数据(从服务上不能添加数据):

 如上表示主从复制验证成功

验证哨兵模式

cd /etc/redis
redis-cli -h 192.168.88.41 -p 26379
sentinel master mymaster
sentinel slaves mymaster

基本指令

# 启动
systemctl start redis
systemctl start redis-sentinel
# 重启
systemctl restart redis
systemctl restart redis-sentinel
# 停止
systemctl stop redis
systemctl stop redis-sentinel
# 开机启动
systemctl enable redis
systemctl enable redis-sentinel
# 关闭开机启动
systemctl disable redis
systemctl disable redis-sentinel
# 卸载,停止redis服务,sentinel服务之后,关闭开机启动,进行卸载
yum remove redis -y
#查看版本 进入/etc/reids目录以后执行命令
redis-server --version

 代码参考网址:

https://blog.csdn.net/qq_39669058/article/details/89158145

参考代码配置文件写的有问题,参照如下,是个坑

spring.redis.sentinel.master=mymaster
spring.redis.sentinel.nodes=192.168.88.41:26379,192.168.88.42:26379,192.168.88.43:26379
spring.redis.timeout=6000
spring.redis.jedis.pool.max-active=8
spring.redis.jedis.pool.max-wait=-1
spring.redis.jedis.pool.max-idle=8
原文地址:https://www.cnblogs.com/ff111/p/12917451.html