*Redis macOS 安装指南

本文介绍在 macOS 上安装 Redis 开源版的方法,包括 Homebrew 安装和从源码编译。

*方法一:Homebrew 安装(推荐)

*前置条件

确保已安装 Homebrew:

brew --version

如果未安装,请访问 Homebrew 官网 按照说明安装。

*清理旧版本(如有)

如果之前通过默认的 redis formula 安装过 Redis,需要先卸载:

brew uninstall redis

# 检查并删除遗留的配置文件
ls -l $(brew --prefix)/etc/redis.conf
rm -iv $(brew --prefix)/etc/redis.conf

*安装 Redis 开源版 8.x

# 添加 Redis Homebrew tap
brew tap redis/redis

# 安装 Redis
brew install --cask redis

*启动和停止 Redis

前台运行(测试用):

redis-server

按 Ctrl-C 停止。

使用 launchd 后台运行:

# 启动并设置为开机自启
brew services start redis

# 查看状态
brew services info redis

# 停止
brew services stop redis

# 重启
brew services restart redis

*验证安装

redis-cli

127.0.0.1:6379> ping
PONG

*方法二:从源码编译(macOS 13/14)

如果需要完整的数据结构支持(JSON、Search、Time Series 等),可以从源码编译。

*1. 安装依赖

export HOMEBREW_NO_AUTO_UPDATE=1
brew update
brew install coreutils make openssl llvm@18 cmake gnu-sed automake libtool wget

*2. 安装 Rust

JSON 模块需要 Rust 编译器:

RUST_INSTALLER=rust-1.80.1-$(if [ "$(uname -m)" = "arm64" ]; then echo "aarch64"; else echo "x86_64"; fi)-apple-darwin
wget --quiet -O ${RUST_INSTALLER}.tar.xz https://static.rust-lang.org/dist/${RUST_INSTALLER}.tar.xz
tar -xf ${RUST_INSTALLER}.tar.xz
cd ${RUST_INSTALLER} && sudo ./install.sh

*3. 下载源码

mkdir ~/src
cd ~/src
wget -O redis-8.0.0.tar.gz https://github.com/redis/redis/archive/refs/tags/8.0.0.tar.gz
tar xvf redis-8.0.0.tar.gz
rm redis-8.0.0.tar.gz

*4. 编译

cd ~/src/redis-8.0.0
export HOMEBREW_PREFIX="$(brew --prefix)"
export BUILD_WITH_MODULES=yes
export BUILD_TLS=yes
export DISABLE_WERRORS=yes
PATH="$HOMEBREW_PREFIX/opt/libtool/libexec/gnubin:$HOMEBREW_PREFIX/opt/llvm@18/bin:$HOMEBREW_PREFIX/opt/make/libexec/gnubin:$HOMEBREW_PREFIX/opt/gnu-sed/libexec/gnubin:$HOMEBREW_PREFIX/opt/coreutils/libexec/gnubin:$PATH"
export LDFLAGS="-L$HOMEBREW_PREFIX/opt/llvm@18/lib"
export CPPFLAGS="-I$HOMEBREW_PREFIX/opt/llvm@18/include"
mkdir -p build_dir/etc
make -C redis-8.0 -j "$(nproc)" all OS=macos
make -C redis-8.0 install PREFIX=$(pwd)/build_dir OS=macos

*5. 验证安装

build_dir/bin/redis-server --version
build_dir/bin/redis-cli --version

*6. 启动 Redis

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
build_dir/bin/redis-server redis-full.conf

*7. 验证模块加载

build_dir/bin/redis-cli INFO | grep -A 10 "^# Modules"

应看到类似输出:

# Modules
module:name=ReJSON,ver=20803,api=1,filters=0,usedby=[search],using=[],options=[handle-io-errors]
module:name=search,ver=21005,api=1,filters=0,usedby=[],using=[ReJSON],options=[handle-io-errors]
module:name=bf,ver=20802,api=1,filters=0,usedby=[],using=[],options=[]
module:name=timeseries,ver=11202,api=1,filters=0,usedby=[],using=[],options=[handle-io-errors]

*注意事项

  • Homebrew 安装方式仅支持 macOS
  • Apple Silicon Mac (M1/M2/M3) 的安装路径为 /opt/homebrew/
  • Intel Mac 的安装路径为 /usr/local/
  • 如果已有 Redis 安装,可能需要修改 $PATH 确保使用最新版本