Redis 是一个高性能的key-value数据库。Redis的官网地址,非常好记,是Redis.io。
1. 安装Redis redis安装的方式有两种,一种是使用yum安装,如果yum安装的版本不符合你的需求,可以选择另一种安装方式,指定版本编译安装。
1.1 yum安装Redis 1 2 3 4 5 6 7 8 9 10 11 12 # 下载fedora的epel仓库 yum install epel-release # 安装gcc-c++,用于编译 yum install -y gcc-c++ # 搜索redis 两种方式都可行 yum search redis --showduplicates yum list redis --showduplicates # 安装redis 可以选择yum搜索redis的结果进行安装 yum install redis
1.2 编译安装Redis 1.2.1 安装Redis 我们可以去Redis官网 下载需要的redis版本,例如下载redis-6.2.6.tar.gz。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 # 下载redis wget https://download.redis.io/releases/redis-6.2.6.tar.gz # 解压 tar -zxvf redis-6.2.6.tar.gz # 进入解压后的文件编译安装 make # 如果遇到 zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录 需要指定MALLOC=libc make MALLOC=libc # 安装 指定安装目录 PREFIX=/usr/local/redis make install
1.2.2 测试Redis 1 2 3 4 5 6 7 8 9 10 ./redis-server /etc/redis/redis.conf redis-cli auth password kill -9 xxx
1.2.3 建立service启动文件 1 2 3 4 5 # 创建redis的unit服务文件 cd /lib/systemd/system # 建立redis服务文件,并进入编辑 vim redis.service
1 2 3 4 5 6 7 8 9 10 11 12 13 14 [Unit] Description=Redis persistent key-value database After=network.target [Service] # 指定redis服务,并指定配置文件 ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf Type=forking # 可以为redis创建用户,不使用root用户启动 # User=redis # Group=redis [Install] WantedBy=multi-user.target
1 2 # 重载守护进程,使文件生效 systemctl daemon-reload
1.3 启动redis 1 2 3 4 5 6 7 8 9 10 11 # 启动服务 systemctl start redis # 停止服务 systemctl stop redis # 配置redis自启 systemctl enable redis # 启动redis并配置redis自启 systemctl enable redis --now
2. 配置Redis redis的配置文件一般放在/etc/redis目录下,如果你是手动编译安装的redis,我们需要手动建立/etc/redis目录,并在service启动文件指定配置文件。
1 2 3 4 5 6 # 如果没有redis配置目录,就创建一个 mkdir /etc/redis # 编辑redis配置文件 # 将redis.conf移至/etc/redis路径下 vim /etc/redis/redis.conf
现在我们根据下面的参数解释,配置redis就可以了。
1 2 3 4 5 6 7 8 9 10 # 可查看redis.conf中文版,阿里云盘保存 bind 127.0.0.1 #注释该配置。配置可访问的IP,当保护模式打开时,如果未设置密码,需要配置外部ip使外部ip可访问 port 6379 #redis端口号 daemonize yes #开启守护进程模式,redis后台运行 protected-mode no #保护模式关闭。保护模式开启时在没有密码时通过bind ip控制外网可访问的ip dir /opt/redis #保存redis数据的目录 logfile /var/log/redis/redis-server.log #保存redis日志的位置 requirepass #password 设置密码 appendonly yes #持久化存储 databases 16 #redis数据库数量 默认16个数据库,可按需设置
3. 防火墙放行 如果我们想要在服务器外访问redis,我们需要配置[[防火墙]]开放redis端口。
1 2 3 4 5 6 7 8 9 10 # 开放6379端口 # zone=public代表公开空间 外部可访问 # --permanent表示永久有效 firewall-cmd --zone=public --add-port=6379/tcp --permanent # 重载防火墙 firewall-cmd --reload # 查看开放的防火墙 firewall-cmd --zone=public --list-ports