Redis学习笔记:安装、配置、命令行工具
本文更新于2026-01-14,使用Redis 8.3.240,操作系统为Deepin 15.11。
目录
Linux下安装
官方下载页:https://redis.io/downloads/。
编译
wget https://download.redis.io/redis-stable.tar.gz
tar -xzvf redis-stable.tar.gz
cd redis-stable
make
sudo make install
执行make后,可执行文件编译于redis-stable/src中。执行sudo make install后,可执行文件拷贝至/usr/local/bin目录下。可执行文件包括:
- redis-benchmark:性能测试。
- redis-check-aof:检查AOF文件。
- redis-check-rdb:检查快照文件。
- redis-cli:客户端。
- redis-sentinel:哨兵。
- redis-server:服务器。
默认配置文件位于redis.conf、redis-full.conf、sentinel.conf。
创建Systemd服务
-
创建系统用户。
sudo useradd -r -M -s /sbin/nologin redis sudo mkdir /var/lib/redis sudo chown redis:redis /var/lib/redis -
创建配置文件。
sudo touch /etc/redis.conf sudo chown redis:redis /etc/redis.conf sudo chmod 0600 /etc/redis.conf -
创建Systemd服务。
sudo vi /lib/systemd/system/redis.service文件内容为:
[Unit] Description=Redis Server After=network.target [Service] User=redis Group=redis ExecStart=/usr/local/bin/redis-server /etc/redis.conf Restart=on-failure WorkingDirectory=/var/lib/redis [Install] WantedBy=multi-user.target -
开机自启动
sudo systemctl enable redis sudo systemctl start redis
Docker下运行
docker container create -p 6379:6379 --name redis redis
docker start redis
docker container create可加上redis-server使用的参数。
容器中的目录结构:
- /usr/local/bin:安装目录
- /data:数据目录。
端口
默认端口为6379。
配置
说明:本节中,大写为自定义变量,根据实际情况填写。使用|表示使用左侧或右侧内容。
- appendfsync always|everysec|no:AOF将写操作同步至磁盘的频率,always为每次写操作,everysec为最多每秒一次,no为不做限制而由操作系统决定。
- appendonly yes|no:是否开启AOF,不使用快照。
- auto-aof-rewrite-min-size SIZE:AOF文件超过此大小,且比上一次重写后增长超过auto-aof-rewrite-percentage指定的百分比时,进行重写。如:64mb。
- auto-aof-rewrite-percentage PERCENTAGE:AOF文件比上一次重写后增长超过此百分比,且超过auto-aof-rewrite-min-size指定的大小时,进行重写。如:100。
- bind IP [...]:监听的IP地址。默认为本机所有IP。
- client-output-buffer-limit pubsub HARDSIZE SOFTSIZE SOFTSECONDS:发布/订阅连接的输出缓冲区限制,不超过HARDSIZE且在SOFTSECONDS秒内不超过SOFTSIZE,否则关闭连接。全0为无限制。如:pubsub 32mb 8mb 60。
- dbfilename FILENAME:快照文件名。默认为dump.rdb。
- dir DIR:快照文件和AOF文件保存的目录。如:./db。
- hash-max-ziplist-entries AMOUNT:无序散列被编码为压缩列表时允许的最大元素数量。
- hash-max-ziplist-value SIZE:无序散列被编码为压缩列表时允许的最大字节数。
- list-max-ziplist-entries AMOUNT:列表被编码为压缩列表时允许的最大元素数量。
- list-max-ziplist-value SIZE:列表被编码为压缩列表时允许的最大字节数。
- lua-time-limit MILLSECONDS:Lua脚本执行的最长毫秒数,超时则使用
SCRIPT KILL将脚本杀死。 - no-appendfsync-on-rewrite yes|no:当重写AOF文件时是否停止将写操作刷新至磁盘。
- rdbcompression yes|no:保存快照时是否进行压缩。
- requirepass PASSWORD:身份验证密码。
- save SECONDS WRITETIMES:距离上一次创建快照超过SECONDS秒且达到WRITETIMES次写操作时触发
BGSAVE命令保存快照,可设置多个。如:60 1000。 - slave-read-only yes|no:从服务器是否只读不允许写入。默认为yes。
- set-max-intset-entries AMOUNT:集合被编码为整数集合时允许的最大元素数量。
- slaveof HOST PORT:作为从服务器,指定主服务器。
- stop-writes-on-bgsave-error yes|no:当执行
BGSAVE命令保存快照时出错是否停止后续新的写操作。 - zset-max-ziplist-entries AMOUNT:有序集合被编码为压缩列表时允许的最大元素数量。
- zset-max-ziplist-value SIZE:有序集合被编码为压缩列表时允许的最大字节数。
命令行工具
说明:本节中,大写为自定义变量,根据实际情况填写。使用[]引起表示内容可选。
redis-benchmark
性能测试。
redis-benchmark OPTIONS
OPTIONS可为:
- -c N:指定并发客户端的数量。缺省为50。
- -q:简化输出。
redis-check-aof
检查AOF文件。
redis-check-aof [--fix] FILENAME
- --fix:修复AOF文件。
redis-check-rdb
检查快照文件。
redis-check-dump FILENAME
redis-cli
客户端。
redis-cli OPTIONS
OPTIONS可为:
- -h HOST:指定服务器主机。默认为localhost。
- -p PORT:指定服务器端口。默认为6379。
- --eval LUAFILENAME [LUAKEY <...> [, LUAARGV [...]]]:执行Lua脚本文件。LUAKEY为脚本中使用到的键,依次以
KEYS[1]等形式使用。LUAARGV为脚本中使用到的附加参数,依次以ARGV[1]等形式使用。脚本中可使用VALUE = redis.call(COMMAND, KEYS[1] <...>)或VALUE = redis.pcall(COMMAND, KEYS[1] <...>)的形式调用命令。 - --help:打印帮助信息。
- --ldb:开启Lua脚本的调试。与--eval一起使用。
- --raw:使用原始数据格式显示结果。结果没有行号,不进行转义。当标准输出不是TTY终端时,为默认选项。
- --scan:使用SCAN命令列出所有键。
redis-sentinel
哨兵。用于对主从服务进行自动故障转移,实际上是运行在特殊模式下的redis-server。
redis-server
服务器。
redis-server [CONFIGFILENAME]
redis-trib.rb
Cluster集群管理。

浙公网安备 33010602011771号