Redis编译安装

警告
本文最后更新于 2023-03-02,文中内容可能已过时。

摘要

Redis是一种高级key-value数据库。它跟memcached类似,不过数据可以持久化,而且支持的数据类型很丰富。有字符串,链表,集 合和有序集合。支持在服务器端计算集合的并,交和补集(difference)等,还支持多种排序功能。所以Redis也可以被看成是一个数据结构服务器。

Redis的所有数据都是保存在内存中(效率高),然后不定期的通过异步方式保存到磁盘上(这称为“半持久化模式”);也可以把每一次数据变化都写入到一个append only file(aof)里面(这称为“全持久化模式”)。

首先从官网下在redis正式版的压缩包

1
wget https://download.redis.io/releases/redis-7.0.6.tar.gz
1
2
3
tar zxf redis-7.0.6.tar.gz
cd redis-7.0.6
make

如果编译成功,你会在src目录中找到几个 Redis 二进制文件,包括:

  • redis-server: Redis服务本身
  • redis-cli是与Redis对话的命令行接口实用程序

image-20230228151941168

1
make install

image-20230228152101008

1
2
mkdir -p /usr/local/redis/conf
cp redis.conf /usr/local/redis/conf/

修改以下内容

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
daemonize yes #后台运行
bind * #绑定ip
timeout 600 #客户端连接超时时间
requirepass redis #登陆时需要使用密码
maxmemory-policy volatile-random #过期策略
appendonly yes #启用AOF持久化
save 3600 1 #配置RDB
save 300 100
save 60 10000
aof-use-rdb-preamble yes #开启混合持久化,Redis5.0以上默认值为 yes

启用混合持久化需要同时开启 AOF

1
vi /usr/lib/systemd/system/redis.service
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
[Unit]
Description=Redis Service
After=network.target

[Install]
WantedBy=multi-user.target
Alias=redis.service

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
1
systemctl enable redis --now

Install Redis from Source

Redis setup tips

相关内容