在CentOS 8上编译安装Redis 6.0与RediSearch模块
环境准备与依赖安装
在CentOS 8系统中,首先确保已安装必要的编译工具和依赖库:
yum install -y gcc make cmake git wget lcov
安装Redis 6.0
下载并编译安装Redis 6.0.8(推荐使用最新稳定版本):
wget http://download.redis.io/releases/redis-6.0.8.tar.gz
tar -xzf redis-6.0.8.tar.gz
cd redis-6.0.8
make PREFIX=/usr/local/redis install
注意:确保系统已正确安装 gcc 及构建工具链。若缺少依赖,请通过 yum 安装。
配置Redis服务
创建Redis运行所需目录结构,并复制配置文件:
mkdir -p /usr/local/redis/conf /usr/local/redis/log /usr/local/redis/data
cp redis.conf /usr/local/redis/conf/
编辑配置文件 /usr/local/redis/conf/redis.conf,修改以下内容:
- 取消注释
bind 0.0.0.0以允许远程访问(生产环境建议限制IP) - 设置
daemonize yes使Redis以守护进程方式运行 - 配置日志路径:
logfile "/usr/local/redis/log/redis.log" - 设置数据目录:
dir /usr/local/redis/data
配置systemd服务
创建系统服务文件 /lib/systemd/system/redis.service:
[Unit]
Description=Redis Server
After=network.target
[Service]
Type=forking
PIDFile=/var/run/redis_6379.pid
ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/conf/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重新加载服务定义并启动Redis:
systemctl daemon-reload
systemctl start redis
systemctl enable redis
编译安装RediSearch模块
从Gitee镜像克隆RediSearch源码(避免GitHub网络问题):
git clone --recursive https://gitee.com/mirrors/redisearch.git
cd redisearch
尝试自动安装依赖(如失败可跳过):
make setup
若遇到 lcov 安装失败,直接跳过并执行构建:
make all
成功后会在 build/ 目录生成 redisearch.so 模块文件。
集成RediSearch到Redis
将模块加载配置添加至Redis主配置文件:
echo "loadmodule /home/redisearch/build/redisearch.so" >> /usr/local/redis/conf/redis.conf
重启Redis服务使配置生效:
systemctl restart redis
测试全文搜索功能
进入Redis客户端进行测试:
cd /usr/local/redis/bin
./redis-cli -h 127.0.0.1 -p 6379
执行以下命令创建索引并插入数据:
FT.CREATE myIdx ON HASH PREFIX 1 doc: SCHEMA title TEXT WEIGHT 5.0 body TEXT url TEXT
HSET doc:1 title "hello world" body "lorem ipsum" url "http://redis.io"
FT.SEARCH myIdx "hello world" LIMIT 0 10
预期返回结果包含匹配的文档及其字段信息,验证搜索功能正常。