Redis是一个开源的内存数据结构存储系统,它也可以用作数据库、缓存和消息队列。Redis支持多种数据类型,包括字符串、哈希、列表、集合和有序集合。它具有高性能、可扩展性和灵活性的特点,被广泛应用于许多领域,如缓存、实时分析、消息传递和排行榜等。Redis还提供了持久化功能,可以将内存中的数据保存到磁盘上,以防止数据丢失。它支持丰富的命令集合,并提供了多种语言的客户端库,使开发者能够方便地与Redis进行交互。本文档详细的记载了redis主从和sentinel哨兵模式的部署。
一、环境准备
1.下载redis
redis官网网址:https://redis.io,记录本文时官网最新的版本为7.2.5。本文档使用的是7.2,5,其他版本redis的部署方法一致,7.2.5版本的下载地址为:https://download.redis.io/releases/redis-7.2.5.tar.gz。
2.配置最大文件打开数
使用root帐号登录操作系统,编辑limits.conf文件,如下所示。
[root@shizhanxia.com ~]# vi /etc/security/limits.conf * soft nofile 65535 * hard nofile 65535
3.调整内核参数
[root@shizhanxia.com ~]# echo "vm.overcommit_memory = 1" >> /etc/sysctl.conf [root@shizhanxia.com ~]# sysctl -p
4.安装gcc
[root@shizhanxia.com ~]# yum install -y gcc tcl
二、主节点安装部署
(一)redis的安装部署
1.解压redis
[root@shizhanxia.com ~]# tar xzvf redis-7.2.5.tar.gz
2.编译redis
[root@shizhanxia.com ~]# mv redis-7.2.5 /etc/redis
[root@shizhanxia.com ~]# mkdir -p /etc/redis/data
[root@shizhanxia.com ~]# mkdir -p /etc/redis/logs [root@shizhanxia.com ~]# cd /etc/redis [root@shizhanxia.com redis]# make && make install
3.备份redis配置文件
[root@shizhanxia.com redis]# cp redis.conf redis.conf-bak
4,修改redis配置文件
[root@shizhanxia.com redis]# vi redis.conf #bind 127.0.0.1 #绑定redis服务器网卡IP,默认为127.0.0.1,即本地回环地址。这样的话,访问redis服务只能通过本机的客户端连接,而无法通过远程连接。如果bind选项为空的话,那会接受所有来自于可用网络接口的连接,也可以设置为本机Ip地址。 protected-mode no #保护模式,默认是开启状态,只允许本地客户端连接 daemonize yes #默认情况下 redis 不是作为守护进程运行的,如果你想让它在后台运行,你就把它改成 yes。当redis作为守护进程运行的时候,它会写一个 pid 到 /var/run/redis.pid 文件里面 appendonly yes #默认redis使用的是rdb方式持久化,这种方式在许多应用中已经足够用了。但是redis如果中途宕机,会导致可能有几分钟的数据丢失,根据save来策略进行持久化,Append Only File是另一种持久化方式,可以提供更好的持久化特性。Redis会把每次写入的数据在接收后都写入appendonly.aof文件,每次启动时Redis都会先把这个文件的数据读入内存里,先忽略RDB文件。 requirepass Aa123456 #设置redis-cli访问密码。 masterauth Aa123456 #设置同步密码 logfile "/etc/redis/logs/redis.log" # Log目录和文件 dir /etc/redis/data/ #持久化数据目录 maxmemory 24000000kb #防止OOM,推荐设置为最大内存值的50%-70%
5.配置systemctl控制的redis服务,将以下下内容复制输入到新建的redis.service文件中。
[root@shizhanxia.com redis]# vi /usr/lib/systemd/system/redis.service [Unit] Description=Redis persistent key-value database After=network.target After=network-online.target Wants=network-online.target [Service] ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf ExecStop=/bin/kill -s QUIT $MAINPID Type=forking User=root Group=root RuntimeDirectory=redis RuntimeDirectoryMode=0755 PrivateTmp=true [Install] WantedBy=multi-user.target
6.设置开机启动。
[root@shizhanxia.com ~]# systemctl restart redis [root@shizhanxia.com ~]# systemctl enable redis
7.使用redis-cli 连接redis
[root@shizhanxia.com ~]# redis-cli -h 192.168.111.11 -a Aa123456
(二)sentinel哨兵模式的部署
默认情况下sentinel配置文件跟redis.conf在相同的目录,直接使用vi编辑sentinel.conf配置文件,修改如下几项。
原创文章,作者:保哥,如若转载,请注明出处:https://www.shizhanxia.com/920.html