警告
本文最后更新于 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对话的命令行接口实用程序


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