1. 为什么选择在Mac上安装Redis?
Redis作为当今最流行的内存数据库之一,在Mac本地开发环境中扮演着重要角色。我最初接触Redis是在2015年为一个电商项目做性能优化时,当时需要处理每秒上万次的商品库存查询。传统MySQL数据库在高压下响应时间超过800ms,而切换到Redis后直接降到5ms以内,这种性能飞跃让我印象深刻。
在Mac上安装Redis主要有三大优势:
- 开发环境与生产环境一致性:大多数现代应用都采用Redis作为缓存或消息队列,本地拥有相同环境可以准确模拟线上行为
- 快速验证想法:不需要依赖远程服务器,随时可以测试新的数据结构或Lua脚本
- 学习成本低:Mac的Unix基础与Linux服务器高度兼容,学到的命令和配置可以直接迁移到生产环境
注意:虽然Redis官方没有提供dmg安装包,但通过Homebrew或源码编译都能获得最新稳定版本。我强烈建议开发者使用Homebrew管理,后续版本升级和依赖管理会更加方便。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 准备工作:环境检查与工具选择
2.1 确认系统版本
在终端执行以下命令查看系统信息:
bash复制sw_vers
我的MacBook Pro运行的是macOS Monterey 12.6,芯片为M1 Pro。不同芯片架构会影响后续编译方式:
- Intel芯片:使用x86_64架构的预编译版本
- Apple Silicon:需要arm64版本或通过Rosetta 2转译
2.2 安装Homebrew
如果尚未安装这个Mac包管理器,执行:
bash复制/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
安装完成后,将brew添加到PATH:
bash复制echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> ~/.zshrc
source ~/.zshrc
2.3 存储空间检查
Redis默认会将内存数据持久化到磁盘,建议至少保留5GB可用空间。检查方法:
bash复制df -h /
3. 通过Homebrew安装Redis
3.1 基础安装命令
执行以下命令完成核心安装:
bash复制brew update
brew install redis
这个简单的命令背后,Homebrew会帮你完成:
- 下载最新稳定版Redis源码包(当前为7.0.11)
- 自动解决依赖(如openssl、zlib)
- 针对你的CPU架构优化编译
- 设置合理的默认配置文件
3.2 验证安装结果
检查版本信息:
bash复制redis-server --version
正常应显示类似:Redis server v=7.0.11 sha=00000000:0 malloc=libc bits=64 build=...
尝试启动服务:
bash复制redis-server
看到Redis图标和端口号(6379)表示启动成功。按Control+C停止服务。
4. 配置与优化Redis服务
4.1 关键配置文件位置
Homebrew安装的配置文件路径:
code复制/usr/local/etc/redis.conf
建议复制一份进行修改:
bash复制cp /usr/local/etc/redis.conf /usr/local/etc/redis.custom.conf
4.2 推荐配置调整
用vim或VS Code打开配置文件,修改这些关键参数:
conf复制# 绑定所有网络接口(方便Docker等工具连接)
bind 0.0.0.0
# 最大内存限制(根据你的开发需求调整)
maxmemory 2gb
# 内存淘汰策略
maxmemory-policy allkeys-lru
# 启用AOF持久化
appendonly yes
# 后台运行
daemonize yes
4.3 设置开机自启
使用brew services管理后台服务:
bash复制brew services start redis
检查运行状态:
bash复制brew services list
5. 客户端连接与基本操作
5.1 命令行客户端
启动交互式客户端:
bash复制redis-cli
执行基本命令测试:
redis复制127.0.0.1:6379> SET test_key "Hello Mac"
OK
127.0.0.1:6379> GET test_key
"Hello Mac"
127.0.0.1:6379> INFO Server
# 查看服务器信息
5.2 可视化工具推荐
- RedisInsight(官方工具):
bash复制
brew install --cask redisinsight - Another Redis Desktop Manager:
通过Homebrew Cask安装:bash复制
brew install --cask another-redis-desktop-manager
5.3 连接Docker容器
如果你需要与Docker中的其他服务交互,确保Redis配置了:
conf复制protected-mode no
bind 0.0.0.0
6. 常见问题排查指南
6.1 端口冲突处理
如果遇到端口占用错误:
bash复制lsof -i :6379
kill -9 <PID>
或者修改Redis配置中的端口号:
conf复制port 6380
6.2 内存问题排查
查看内存使用情况:
redis复制127.0.0.1:6379> INFO memory
遇到OOM错误时,可以:
- 增加maxmemory配置
- 调整maxmemory-policy
- 检查是否有内存泄漏的键
6.3 性能优化建议
在开发环境中,可以关闭持久化获得更好性能:
conf复制save ""
appendonly no
但要注意这会导致重启后数据丢失。
7. 进阶配置与使用技巧
7.1 密码保护
在生产环境中必须设置密码:
conf复制requirepass yourstrongpassword
连接时需要认证:
bash复制redis-cli -a yourstrongpassword
7.2 多实例运行
创建不同端口的Redis实例:
bash复制cp /usr/local/etc/redis.conf /usr/local/etc/redis6381.conf
# 修改端口号和其他参数
redis-server /usr/local/etc/redis6381.conf
7.3 慢查询日志
定位性能瓶颈:
conf复制slowlog-log-slower-than 10000 # 记录超过10ms的查询
slowlog-max-len 128 # 保留128条记录
查看慢查询:
redis复制127.0.0.1:6379> SLOWLOG GET
8. 版本升级与数据迁移
8.1 升级Redis版本
通过Homebrew安全升级:
bash复制brew update
brew upgrade redis
8.2 数据备份策略
手动执行持久化:
redis复制127.0.0.1:6379> SAVE
备份RDB文件(默认位置):
bash复制cp /usr/local/var/db/redis/dump.rdb ~/redis_backup_$(date +%Y%m%d).rdb
8.3 迁移到云服务
如果需要迁移到AWS ElastiCache等云服务:
- 使用
redis-cli --rdb导出数据 - 通过
redis-cli -h导入到新实例 - 修改应用连接字符串
我在实际项目中发现,当数据量超过1GB时,使用Redis的复制功能(replicaof)比手动导入更可靠。
