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

相关推荐
weixin_440401693 小时前
分布式锁——基于Redis分布式锁
java·数据库·spring boot·redis·分布式
三两肉6 小时前
如何使用缓存提升SpringBoot性能(EhCache和Redis方式)
spring boot·redis·缓存
陪我养猪吧8 小时前
Linux 服务器环境搭建
linux·服务器·redis·mysql·nginx·jdk·maven
givmchickenblood9 小时前
redis的setnx实现分布式锁
数据库·redis·分布式
清风撩耳ing10 小时前
Redis三种模式——主从复制、哨兵模式、集群
数据库·redis·nosql
鞥牧魂人12 小时前
数据库——redis常见面试题
数据库·redis·缓存
一橘Java小菜鸟13 小时前
利用Redis bitmap 实现签到案例
数据库·redis·缓存
青春丨猪头丨少年14 小时前
用Redis实现排行榜的详细用例
数据库·redis·缓存
Scora_liu14 小时前
resp 无法连接 redis 服务器
运维·服务器·redis
hello_读书就是赚钱17 小时前
Redis的zset的zrem命令可以做到O(1)吗?
数据库·redis·缓存