Redis7在Linux下的安装
Redis是一个开源(BSD许可),内存存储的数据结构服务器,可用作数据库,高速缓存和消息队列代理。它支持字符串、哈希表、列表、集合、有序集合,位图,hyperloglogs等数据类型。内置复制、Lua脚本、LRU收回、事务以及不同级别磁盘持久化功能,同时通过Redis Sentinel提供高可用,通过Redis Cluster提供自动分区。
注意:Redis“内存数据存储(in-memory data store)”项目将从Redis 7.4版本开始,采用非免费、源代码可用的许可协议。
一、下载安装编译
redis7必须gcc >= 4.9,gcc安装教程
wget -O redis-7.2.9.tar.gz "https://github.com/redis/redis/archive/refs/tags/7.2.9.tar.gz"
tar -zxf redis-7.2.9.tar.gz
cd redis-7.2.9
make && make PREFIX=/usr/local/redis install
二、修改配置
mkdir /usr/local/redis/etc
cp redis.conf /usr/local/redis/etc/
cp sentinel.conf /usr/local/redis/etc/
vim /usr/local/redis/etc/redis.conf
01.修改bind 127.0.0.1 -::1为bind *
02.修改daemonize no为daemonize yes
03.修改pidfile /var/run/redis_6379.pid为pidfile /var/run/redis/6379.pid
04.修改logfile ""为logfile /var/log/redis/redis.log
05.修改dir ./为dir /var/lib/redis
06.修改# maxclients 10000为maxclients 10000
07.修改# maxmemory 为maxmemory 1GB
08.修改# maxmemory-policy noeviction为maxmemory-policy allkeys-lru
09.设置密码修改# requirepass foobared为requirepass 密码终端使用auth 密码
10.设置protected-mode模式protected-mode yes为protected-mode no
三、修改/etc/sysctl.conf文件
添加
# 指定内核针对内存分配的策略
# 0、表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程
# 1、表示内核允许分配所有的物理内存,而不管当前的内存状态如何
# 2、表示内核允许分配超过所有物理内存和交换空间总和的内存
vm.overcommit_memory = 1
刷新配置使之生效
sysctl -p
四、创建Redis日志文件目录
mkdir -p /var/log/redis
五、创建Redis数据文件目录
mkdir -p /var/lib/redis
六、启动Redis
/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
七、检查Redis启动是否成功
lsof -i:6379
若出现以下信息则说明Redis启动成功
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
redis-ser 2568 root 4u IPv4 13637 0t0 TCP 127.0.0.1:6379 (LISTEN)
若启动失败则查看/var/log/redis/redis.log文件的错误信息
八、开机启动Redis
vim /usr/lib/systemd/system/redis.service
输入以下内容
[Unit]
Description=Redis
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
ExecStop=/usr/local/redis/bin/redis-cli shutdown
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=3
[Install]
WantedBy=multi-user.target
启动Redis
systemctl start redis.service
在开机时启用
systemctl enable redis.service