Windows系统下如何为Redis-server加载Redisearch等外部模块
Windows下加载Redis第三方模块最优操作方案
你手里的.so格式模块是Linux环境的编译产物,而微软官方维护的原生Windows版Redis已经停止更新,对Linux模块兼容性极差,所以通过WSL运行Linux版Redis是成本最低、兼容性最好的方案,具体操作步骤如下:
WSL环境操作步骤
- 先完成WSL环境安装(推荐选用Ubuntu发行版),在WSL终端内安装标准Linux版Redis:
sudo apt update && sudo apt install redis-server - 将本地存储的
.so模块文件移动到WSL系统内的固定目录,推荐统一存放在/usr/lib/redis/modules/,如果目录不存在先执行创建命令:
移动文件后可执行sudo mkdir -p /usr/lib/redis/modulesls /usr/lib/redis/modules确认文件存在。
临时加载(用于快速验证兼容性,重启Redis后失效)
启动Redis服务后,在redis-cli内执行模块加载命令,示例如下:
MODULE LOAD /usr/lib/redis/modules/redisearch.so MODULE LOAD /usr/lib/redis/modules/redisql.so
返回OK即代表加载成功,可执行MODULE LIST查看已加载的模块信息确认。
永久加载(重启Redis依然生效)
- 编辑Redis默认配置文件
/etc/redis/redis.conf,找到loadmodule配置段,每个模块单独新增一行配置:loadmodule /usr/lib/redis/modules/redisearch.so loadmodule /usr/lib/redis/modules/redisql.so - 保存配置文件后重启Redis服务即可生效:
sudo systemctl restart redis-server
原生Windows版Redis兼容方案(不推荐)
如果你坚持使用原生Windows版Redis,需要注意:
.so文件无法直接在Windows环境使用,你需要找到对应模块的Windows编译版本(.dll格式)- 加载逻辑和Linux版一致:临时加载在
redis-cli执行MODULE LOAD 模块绝对路径\模块名.dll,永久加载则在redis.windows.conf配置文件中新增对应loadmodule配置项,重启Redis后生效。
内容的提问来源于stack exchange,提问作者Soubhagya Panda
相关产品推荐
相关产品推荐

