加载第三方模块
git clone https://github.com/wujunze/redis-module-panda.git
make
docker cp panda.so redis:/
如果网络不好,下载不下来,可以下载到 windows 下,通过 scp 工具上传到服务器。make之后生成 panda.so 文件,拷贝到容器内部。
两种加载方式
启动时加载
redis.conf 添加配置,在启动时加载
loadmodule path # /panda.so
运行时加载
enable-module-command yes
有三种取值,no:不允许,local:只能本地连接允许,yes:所有连接都可以,默认no
module load path # /panda.so
module unload module_name
module list # 查看所有
使用模块命令
panda.hello # 输出大熊猫图像
panda.time # 输出当前事前
panda.rand # 输出一个随机值
加载官方模块
这里以 RedisTimeSeries 为例
git clone --recursive https://github.com/RedisTimeSeries/RedisTimeSeries.git
make
make失败,具体原因未知,这里使用另一种方法
docker search redis
docker pull redislabs/redistimeseries
此镜像中默认加载了RedisTimeSeries模块,创建容器并进入
docker run -d -p 6380:6380 --name redistimeseries redislabs/redistimeseries
docker exec -it redistimeseries /bin/bash
find / -name *.so # 查询 .so 文件
可以查询到文件所在目录为 /usr/lib/redis/modules/redistimeseries.so
docker cp redistimeseries:/usr/lib/redis/modules/redistimeseries.so .
将文件拷贝出来并再拷贝到我们自己的Redis容器中
docker cp redistimeseries.so redis:/
module load /redistimeseries.so
此时就可以使用了
参考
手把手教你玩儿一下 Redis Module 之模块解读
How to fix Redis Error “ERR DEBUG command not allowed.”
Redis干货|解锁Redis 时间序列数据的应用