1. 为什么选择在macOS上安装Redis
Redis作为当前最流行的内存数据库之一,在macOS开发环境中有着广泛的应用场景。我最初接触Redis是在2015年做电商项目时,需要处理高并发的秒杀活动。当时在MacBook Pro上本地部署Redis后,性能测试结果比直接操作MySQL快了近20倍,这个性能差距让我印象深刻。
macOS作为开发者的主力操作系统,与Redis的结合能带来诸多便利:
- 本地开发调试时无需连接远程服务器
- 可以快速验证缓存策略和数据结构设计
- 学习Redis命令和特性更加直观
- 测试脚本和应用程序能获得接近生产环境的缓存体验
2. 安装前的环境准备
2.1 检查系统版本
在终端执行以下命令查看macOS版本:
sw_vers我目前在macOS Ventura 13.4上测试通过,从Catalina到最新版本都兼容。如果遇到问题,建议先升级系统。
2.2 安装Xcode命令行工具
即使不开发iOS应用,也需要安装Xcode命令行工具:
xcode-select --install这个步骤会安装Git等基础工具,Homebrew依赖这些组件。我曾遇到过因跳过这步导致brew安装失败的情况。
2.3 Homebrew的安装与配置
作为macOS的包管理器,Homebrew能极大简化安装过程:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"安装完成后,将brew添加到PATH:
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc source ~/.zshrc注意:如果使用旧版Intel芯片的Mac,路径可能是/usr/local/bin/brew
3. 通过Homebrew安装Redis
3.1 执行安装命令
使用brew安装Redis非常简单:
brew install redis这个命令会自动完成以下操作:
- 下载最新稳定版Redis(当前为7.2.1)
- 编译Redis源代码
- 安装到/opt/homebrew/Cellar/redis目录
- 创建必要的配置文件
3.2 验证安装结果
检查安装版本:
redis-server --version正常应显示类似"Redis server v=7.2.1"的信息。
查看安装文件位置:
brew list redis4. Redis服务管理
4.1 启动Redis服务
使用brew services管理后台服务:
brew services start redis也可以直接运行:
redis-server /opt/homebrew/etc/redis.conf4.2 检查运行状态
查看服务是否正常运行:
brew services list测试连接:
redis-cli ping正常应返回"PONG"响应。
4.3 停止和重启服务
停止服务:
brew services stop redis重启服务:
brew services restart redis5. 配置文件详解
Redis的配置文件位于:
/opt/homebrew/etc/redis.conf几个关键配置项:
| 配置项 | 默认值 | 说明 |
|---|---|---|
| daemonize | no | 是否以守护进程运行 |
| port | 6379 | 服务监听端口 |
| bind | 127.0.0.1 | 绑定IP地址 |
| timeout | 300 | 客户端空闲超时(秒) |
| databases | 16 | 数据库数量 |
| save | 900 1 | 持久化触发条件 |
建议修改:
maxmemory 256mb # 防止开发机内存耗尽 appendonly yes # 开启AOF持久化6. Redis-cli基础使用
6.1 连接Redis
基本连接:
redis-cli带密码连接(如果设置了):
redis-cli -a yourpassword6.2 常用命令示例
SET mykey "Hello" # 设置键值 GET mykey # 获取值 DEL mykey # 删除键 KEYS * # 查看所有键 FLUSHALL # 清空所有数据6.3 性能测试
内置基准测试工具:
redis-benchmark -n 100000 -q7. 开机自启动配置
让Redis随系统启动:
brew services enable redis检查自启动状态:
brew services list | grep redis8. 常见问题排查
8.1 端口冲突问题
如果6379端口被占用:
lsof -i :6379 kill -9 <PID>或者修改Redis配置文件中port参数。
8.2 内存不足问题
在redis.conf中设置:
maxmemory 256mb maxmemory-policy allkeys-lru8.3 连接拒绝问题
检查bind配置是否为127.0.0.1或允许的IP,检查防火墙设置:
sudo pfctl -sr | grep redis9. 可视化工具推荐
Another Redis Desktop Manager
- 开源免费
- 支持多平台
- 直观的键值浏览
RedisInsight(官方工具)
- 专业版功能强大
- 支持慢查询分析
- 可视化监控
安装命令:
brew install --cask another-redis-desktop-manager10. 进阶配置建议
10.1 密码保护
在redis.conf中取消注释:
requirepass yourstrongpassword10.2 持久化策略
根据需求选择:
- RDB快照:save配置项
- AOF日志:appendonly yes
- 混合模式(推荐)
10.3 多实例运行
复制配置文件:
cp /opt/homebrew/etc/redis.conf /opt/homebrew/etc/redis6380.conf修改端口后启动新实例:
redis-server /opt/homebrew/etc/redis6380.conf11. 性能优化技巧
- 合理设置maxmemory,建议不超过物理内存的60%
- 生产环境禁用KEYS命令,使用SCAN替代
- 大value考虑压缩或拆分
- 使用pipelining减少网络往返
- 监控慢查询:slowlog get 10
12. 开发环境实用配置
我的个人开发机配置:
daemonize yes port 6379 bind 127.0.0.1 timeout 300 databases 16 maxmemory 512mb maxmemory-policy volatile-lru appendonly yes appendfsync everysec这个配置平衡了性能和数据安全性,特别适合本地开发场景。当需要测试极端性能时,可以临时关闭appendonly以获得更高吞吐量。