1. 安装
通过 Homebrew 安装:
bash
brew install redis
安装产物:
| 项 | 值 |
|---|---|
| 版本 | 8.8.0 |
| 安装目录 | /opt/homebrew/opt/redis/ |
| 可执行文件 | /opt/homebrew/opt/redis/bin/redis-server、redis-cli |
| 配置文件 | /opt/homebrew/etc/redis.conf |
| 数据目录 | /opt/homebrew/var/db/redis |
| RDB 文件名 | dump.rdb |
| AOF 持久化 | 关闭(appendonly = no) |
| 监听地址 | 127.0.0.1:6379 |
2. 启动
注意:本机上
brew services start redis在当前 macOS 版本上 launchd 未真正拉起 redis-server 进程(实测brew services info redis显示Running: false)。因此采用直接后台启动方式。
启动命令:
bash
nohup /opt/homebrew/opt/redis/bin/redis-server /opt/homebrew/etc/redis.conf --daemonize no > /tmp/redis_start.log 2>&1 &
验证启动成功:
bash
redis-cli ping
实际输出:
PONG
更多服务器信息:
bash
redis-cli INFO server | grep -E "redis_version|tcp_port|process_id|config_file"
实测输出:
redis_version:8.8.0
process_id:55387
tcp_port:6379
config_file:/opt/homebrew/etc/redis.conf
该方式不会随系统重启自动拉起。重启电脑后需手动再次执行启动命令。
3. 关闭
使用 redis-cli shutdown 优雅关闭(已实测,exit code = 0):
bash
redis-cli shutdown
执行后 ps aux | grep redis-server | grep -v grep 无输出,确认进程已退出。
4. 账号密码
| 项 | 当前状态 |
|---|---|
requirepass |
未设置(无密码) |
| 用户系统(ACL) | 未配置,默认仅 default 用户 |
本次未持久化任何密码。文档中"密码开关"演示步骤已在实测后立即关闭,redis.conf 文件未被修改。
临时启用密码(已实测)
bash
# 1) 开启密码
redis-cli CONFIG SET requirepass "Redis@1234"
# 2) 未带密码访问会失败
redis-cli PING
# 输出: NOAUTH Authentication required.
# 3) 带密码访问成功
redis-cli -a "Redis@1234" PING
# 输出: PONG
# 4) 取消密码,恢复无密码状态
redis-cli -a "Redis@1234" CONFIG SET requirepass ""
# 5) 验证已无密码
redis-cli PING
# 输出: PONG
上述
CONFIG SET是运行时生效,不会写入redis.conf,进程重启后还原。若要持久化,需要修改/opt/homebrew/etc/redis.conf中的requirepass行。
5. 使用示例
以下命令本次均已实际执行并通过。
5.1 字符串与计数
bash
redis-cli SET demo:greeting "hello redis" # OK
redis-cli GET demo:greeting # "hello redis"
redis-cli INCR demo:counter # 1
redis-cli INCR demo:counter # 2
redis-cli GET demo:counter # "2"
5.2 过期
bash
redis-cli SET demo:ttl_key "will expire" EX 60 # OK,60 秒后失效
redis-cli TTL demo:ttl_key # 60
5.3 列表
bash
redis-cli RPUSH demo:list a b c # 3
redis-cli LRANGE demo:list 0 -1 # a, b, c
5.4 哈希
bash
redis-cli HSET demo:user:1 name alice age 30 # 2
redis-cli HGETALL demo:user:1
# name
# alice
# age
# 30
5.5 集合
bash
redis-cli SADD demo:tags redis db cache # 3
redis-cli SMEMBERS demo:tags
# redis
# db
# cache
5.6 模糊查询与批量删除
bash
redis-cli KEYS "demo:*"
redis-cli DEL demo:greeting demo:counter demo:ttl_key demo:list demo:user:1 demo:tags
redis-cli DBSIZE # 0
6. 常用日志与文件位置
| 文件 | 路径 |
|---|---|
| 配置文件 | /opt/homebrew/etc/redis.conf |
| 数据目录 | /opt/homebrew/var/db/redis |
| RDB 快照 | /opt/homebrew/var/db/redis/dump.rdb |
| 启动日志 | /tmp/redis_start.log(本文档使用的启动方式) |
7. 快速参考
| 动作 | 命令 |
|---|---|
| 启动 | nohup /opt/homebrew/opt/redis/bin/redis-server /opt/homebrew/etc/redis.conf --daemonize no > /tmp/redis_start.log 2>&1 & |
| 关闭 | redis-cli shutdown |
| 连通性 | redis-cli ping |
| 进入交互 | redis-cli |
| 查看进程 | `ps aux |