redis 服务的搭建

本文详细介绍了如何在Linux环境下搭建Redis服务,包括解压安装、编译、配置文件修改以及使用systemd启动。同时,文章讲解了Redis的主从复制设置,包括异步复制、故障转移和配置 sentinel 进行高可用性保障。此外,还提到了监控主从状态和使用redis-cli进行相关操作的方法。
摘要由CSDN通过智能技术生成

redios服务的搭建:

tar zxf redis-6.2.2.tar.gz
解压安装包

[root@server2 redis-6.2.2]# ls
00-RELEASENOTES CONDUCT COPYING INSTALL MANIFESTO redis.conf runtest-cluster runtest-sentinel src TLS.md
BUGS CONTRIBUTING deps Makefile README.md runtest runtest-moduleapi sentinel.conf tests utils

存在 Makefile 的文件,所以可以直接进行编译
需要在解压之前安装gcc软件

make install 下载

[root@server2 redis-6.2.2]# cd utils/
[root@server2 utils]# ls
build-static-symbols.tcl gen-test-certs.sh lru releasetools tracking_collisions.c
cluster_fail_time.tcl graphs redis-copy.rb speed-regression.tcl whatisdoing.sh
corrupt_rdb.c hashtable redis_init_script srandmember
create-cluster hyperloglog redis_init_script.tpl systemd-redis_multiple_servers@.service
generate-command-help.rb install_server.sh redis-sha1.rb systemd-redis_server.service

为你提供systemd的启动方式

[root@server2 utils]# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server

This systems seems to use systemd.
Please take a look at the provided example service unit files in this directory, and adapt and install them. Sorry!

cp systemd-redis_server.service /usr/lib/systemd/system/redis_server.service
cp /mnt/redis-6.2.2/redis.conf /etc/redis/

编写文件:
vim /etc/redis/redis.conf
daemonize yes 修改内容
bind 0.0.0.0
dir /var/lib/redis 修改数据目录的位置

cp redis_init_script /etc/init.d/redis_6379
cd /etc/redis/
mv redis.conf 6379.conf

mkdir /var/lib/redis
/etc/init.d/redis_6379 start

[root@server2 redis]# /etc/init.d/redis_6379 start
Starting Redis server…
注:启动成功

systemd的启动方式:
rsync (不会忽略软连接的复制)
eg: rsync -a * server3:/usr/local/bin
编译数据的时候,添加参数
make USE_SYSTEMD=yes

cp systemd-redis_server.service /usr/lib/systemd/system/redis_server.service
编写配置文件:vim redis_server.service
修改文件:
/usr/lib/systemd/system/redis_server.service
取消注释:
AssertPathExitar zxf redis-6.2.2.tar.gzsts=/var/lib/redis
注释:
ExecStart=/usr/local/bin/redis-server --supervised systemd --daemonize no
取消注释:

ExecStart=/usr/local/bin/redis-server /path/to/your/redis.conf
修改其中的地址:
ExecStart=/usr/local/bin/redis-server /etc/redis/6937.conf
注释内容:
#TimeoutStartSec=infinity
#TimeoutStopSec=infinity
#UMask=0077
添加内容:
ExecStop=/usr/local/bin/redis-cli -p 6379 shutdown
ExecReload=/bin/kill -s HUP $MAINPID

在源码包中的操作:
cp redis.conf /etc/redis/
修改配置文件:

bind 0.0.0.0
daemonize yes
取消注释:
supervised auto

redi[root@server1 redis]# systemctl daemon-reload
[root@server1 redis]# systemctl start redis_server.service

redis服务的命令

redis常用命令:
config get //查看配置
select //选择数据库
flushdb //清空当前数据库
flushall //清空所有数据库
move key //移动key
del key //删除
rename oldkey newkey //改名
expire key 10 //设置过期时间
persist key //设置持久化
key user* /查询
exists key //判断是否存在

redis.cn 进入官网查看相关的数据类型

redis的主从复制

默认使用的异步复制
利用快照的功能
BGSAVE生成快照,并记录此期间的写命令

master的认证(默认没有认证)

sentinel
高可用:主从的切换
当网络出现问题时,发起主从切换,从slave中选出一个master,当网络恢复的时候,master变成了slave。
优化方案:设置最少存在的slave
min-slaves-to-weite <alave数量>(添加在主配置文件的最后)
min-slaves-max-lag <秒数>

进入源码包中
cp sentinel.conf /etc/redis
vim /etc/redis/sentinel.conf
超时时间:
sentinel monitor mymaster 172.25.40.1 6379 2
设置集群中master主机
sentinel failover-timeout mymaster 180000
sentinel down-after-milliseconds mymaster 10000
10s访问失败默认主观下线

在服务启动之前,需要scp完成多台服务的配置
redis-sentinel /etc/redis/6379.conf 观察主从状态
+sdown 主观下线状态
redis-cli -h 172.25.40.1 (redis的远程连接问题)
#REPLICAOF 172.25.40.3 (redis中的远程连接命令)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不愿相思白了头

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值