一.简介

redis是NoSQL类的缓存数据库,基于键-值型的存储,不仅是内存中的缓存,还提供持久存储。redis整个运行是在内存中实现的,它的所有的数据集都是保存在内存中的,内存中的数据会周期性的写入到磁盘上,以实现数据的持久功能。

redis是单线程服务器,只有一个线程来响应所有的请求,因此适用于适合少用户访问,每个用户大量的读写的场景,也支持支持分布式集群部署,可以将用户的请求分散至多个不同节点,集群多是单机多实例架构。 Redis哨兵(Redis sentinel)是Redis高可用解决方案之一,它由一个或多个哨兵实例组成,这些实例会监控主服务器和其从服务器,并在主服务器出现故障时自动进行故障转移。

二.部署

1.相关参考部署地址

官方地址https://redis.io/ 

下载地址https://download.redis.io/releases

github项目地址 https://github.com/redis/redis

下载地址https://github.com/redis/redis/releases

2.安装

基础环境centos7.4

2.1 安装依赖

#方便以后离线安装,设置保存rpm包和依赖包
sed -i 's/keepcache=0/keepcache=1/g' /etc/yum.conf
#配置阿里云yum镜像源
cd /etc/yum.repos.d/
gzip CentOS-*
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
#安装redis安装依赖包
yum -y install gcc automake autoconf libtool make
#保存依赖包到/opt/soft_depend/redis
mkdir -p /opt/soft_depend/redis
find /var/cache/yum/ -name "*.rpm" | xargs mv -t /opt/soft_depend/redis

 2.2下载编译安装

#下载后解压
mkdir -p /opt/soft/redis
cd /opt/soft/redis
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
tar xf redis-6.2.6.tar.gz
cd redis-6.2.6
#快速编译
make -j 4
#创建软连接
cd ../
ln -s redis-6.2.6 redis
#配置环境变量
cat > /etc/profile.d/redis.sh <<EOF
#!/bin/bash
export PATH=/opt/soft/redis/redis/src:\$PATH
EOF
source /etc/profile.d/redis.sh
#版本查看
redis-cli --version

2.3systemd管理配置

#systemd管理配置
cat >/usr/lib/systemd/system/redis.service <<EOF
[Unit]
Description=Redis In-Memory Data Store
After=network.target
 
[Service]
User=redis
Group=redis
ExecStart=/opt/soft/redis/redis-6.2.6/src/redis-server /opt/soft/redis/redis-6.2.6/redis.conf
ExecStop=/opt/soft/redis/redis-6.2.6/src/redis-cli shutdown
Restart=always
 
[Install]
WantedBy=multi-user.target
EOF
#添加redis用户
useradd -r redis -s /sbin/nologin
#重新加Unit
systemctl daemon-reload
#systemd管理
systemctl start redis
systemctl enable redis
systemctl restart redis
#stop有点慢
systemctl stop redis

2.4修改配置文件,避免非授权认证登录,但不兼容aclfile

vim /opt/soft/redis/redis-6.2.6/redis.conf
改
901 # requirepass foobared
为
901   requirepass 123456
#其他参数根据情况,允许所有IP登录,可以改为0.0.0.0
改
75 bind 127.0.0.1 -::1
为
75 bind 0.0.0.0
#重启
systemctl stop redis
systemctl start redis

2.5登录测试

#需要输入密码认证
[root@dockerfile ~]# redis-cli  -h 192.168.77.130
127.0.0.1:6379> auth 123456
OK