如何通过redisgraph.so模块扩展redis数据库?

时间:2019-04-07 14:07:54

标签: redis

无法导入重载图模块 redisgraph.so indo redis数据库。

  1. 我从源代码成功编译了redisgraph.so。
  2. 为所有人设置了
  3. redisgraph.so 执行权。

我尝试过:

$ redis-cli
> shutdown ((stop redis-server))

$ redis-server --loadmodule pathto/redisgraph.so

((System replies:))

 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=2407, just started
 # Configuration loaded
 * Increased maximum number of open files to 10032 (it was originally set to 1024).
 # Creating Server TCP listening socket *:6379: bind: Address already in use

$ redis-cli
> module list
(empty list or set)
> module load pathto/redisgraph.so
(error) ERR Error loading the extension. Please check the server logs.
((log file says: *no permission*))

redis数据库可以很好地用作键值数据库。 但是我无法通过图形功能对其进行扩展。

到目前为止,我无法删除“ GRAPH.QUERY”之类的命令(redis答复:“未知命令”)。

我不知道为什么redis-server似乎忽略了导入命令,或者为什么redis-cli抱怨许可权。

2 个答案:

答案 0 :(得分:3)

该错误表明您已经有一个正在运行的进程绑定到同一端口(可能是另一个redis服务器)。

此外,最好将Redisgraph与最新的Redis版本(即v5)结合使用。

答案 1 :(得分:0)

最好由systemd管理redis,您可以按以下方式进行配置: 内部

  • 通过设置 supervised systemd
  • 来更新 /etc/redis/redis.conf 中的监督指令以使用systemd
  • 创建redis systemd文件 /etc/systemd/system/redis.service 并设置单位,服务和安装指令:
[Unit]
Description=Redis In-Memory Data Store
After=network.target

[Service]
User=redis
Group=redis
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf
ExecStop=/usr/local/bin/redis-cli shutdown
Restart=always

[Install]
WantedBy=multi-user.target

然后开始redis

sudo systemctl start redis
sudo systemctl status redis

如果您希望Redis在服务器启动时自动重新启动,则: 假设所有这些测试都有效,并且您希望在服务器启动时自动启动Redis,请启用systemd服务:

sudo systemctl enable redis