Linux 安装部署高性能缓存服务redis

Linux 系统安装Redis 5 注意事项:

  1. 下载Redis 文件包,并上传至linux服务上

  2. 解压

    tar -zxvf redis.tar

  3. 安装:
    编译

    make PREFIX=/usr/local/redis install

配置:

redis.conf

复制代码
daemonize yes
bind 127.0.0.1 192.168.1.221
supervised systemd
logfile "/usr/local/redis/log/redis.log"
dir /usr/local/redis/data/6379    【注意:这个目录没有默认:/var/lib/redis/6379  存放dump.rdb的目录, 由于系统默认没有这个目录,导致使用systemctl start redis.service 报错】
requirepass root@123

4、创建redis.service

复制代码
[Unit]
Description=redis-server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /etc/redis/6379.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

执行命令:

systemctl daemon-reload

systemctl start redis.service

systemctl enable redis.service

systemctl stop redis.service

systemctl status redis.service

systemctl restart redis.service

主从配置:

今天在使用命令slaveof或者是replicaof命令配置redis主从复制时,从机出现master_link_status:down提示,显示主机是down的状态,主机显示没有从机挂载。主要是因为这里的redis配置了密码,可以在slave的配置文件里指定(配从不配主)
主要是因为redis配置了密码导致的,将master和slave的密码配置相同,然后将slave的配置文件中的masterauth属性进行填写,将master的密码写上去即可使用命令slaveof或者是replicaof对master进行指定;

对slave的config配置文件中的两个属性进行配置即可实现开启后自动关联。
全部重启一下:
测试验证一下:

主节点:

127.0.0.1:6379> set aaa aaa

OK

从节点:

127.0.0.1:6379> get aaa

"aaa"

所有从节点都能获取到主节点添加的数据表明主从配置完成!!!

哨兵模式:

vi sentinel.conf

复制代码
//端口默认为26379。
port:26379
//关闭保护模式,可以外部访问。
protected-mode:no
//设置为后台启动。
daemonize:yes
//日志文件。
logfile:./sentinel.log
//指定主机IP地址和端口,并且指定当有2台哨兵认为主机挂了,则对主机进行容灾切换。
sentinel monitor mymaster 192.168.231.130 6379 2
//当在Redis实例中开启了requirepass,这里就需要提供密码。
sentinel auth-pass mymaster pwdtest@2019
//这里设置了主机多少秒无响应,则认为挂了。
sentinel down-after-milliseconds mymaster 3000
//主备切换时,最多有多少个slave同时对新的master进行同步,这里设置为默认的1。
snetinel parallel-syncs mymaster 1
//故障转移的超时时间,这里设置为三分钟。
sentinel failover-timeout mymaster 180000

port 26379
daemonize yes
protected-mode no
dir "/tmp"
pidfile "/var/run/redis-sentinel.pid"
logfile "/usr/local/redis/log/sentinel.log"
sentinel monitor mymaster 192.168.1.221 6379 2
sentinel auth-pass mymaster root@123   
sentinel down-after-milliseconds mymaster 5000  

配置systemctl 启动:

vi /etc/systemd/system/redis-sentinel.service

复制代码
[Unit]
Description=redis-sentinel
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-sentinel /usr/local/redis/bin/sentinel.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target

systemctl enable redis-sentinel.service

systemctl start redis-sentinel.service

启动sentinel之后,关闭master。从slave服务器上选出一个master出来

使用命令查看master: ./redis-cli -p 6379 -a root@123 info replication

相关推荐
IT大白鼠13 小时前
Redis 系列 · 第 01 篇——认知入门:Redis 是什么
redis·nosql
彧azz13 小时前
Linux 环境下 Redis 学习总结:数据类型、持久化、锁、事务、主从与缓存问题
linux·redis·笔记·学习·面试
lbb 小魔仙15 小时前
OpenClaw + cpolar 实战:远程 NAS、分享小游戏、RDP,再配置公网 AI 入口
数据库·人工智能·redis·oracle·prometheus
夕除16 小时前
redis--018
redis
两锭子17 小时前
Redis基础
redis
烟沙九洲17 小时前
Redis 缓存穿透、缓存击穿、缓存雪崩
数据库·redis
字节探索17 小时前
Redis 只会当缓存用?这 10 大实战场景,让你的系统快到飞起
redis·后端
于樱花森上飞舞18 小时前
【Redis】哨兵详解
java·开发语言·数据库·redis
Rain的Java大神之路1 天前
如何快速上传10G文件
java·spring boot·redis·后端·mysql·spring cloud·面试
Wang's Blog1 天前
Java 接入Redis: 通用命令与键管理
java·服务器·redis