使用自制程序安装Redis,但当我尝试ping Redis时,它显示这个错误:

Could not connect to Redis at 127.0.0.1:6379: Connection refused

注意: 我尝试关闭防火墙并编辑conf文件,但仍然无法ping通。 我使用的是macOS Sierra和自制版本1.1.11


当前回答

实际上,你需要在安装后运行“redis-server &”来启动服务,当你只运行“redis-server”时,服务以非分离模式运行。强调“&”

其他回答

我发现这个问题,同时试图弄清楚为什么我不能连接到redis后启动它通过brew服务启动redis。

博士tl;

取决于你的机器或安装的更新程度,你可能会丢失一个配置文件或redis默认目录。

你需要一个配置文件在/usr/local/etc/redis.conf。没有这个文件redis-server将无法启动。您可以复制默认配置文件,并从那里修改它 Cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf.default 你需要/usr/local/var/db/redis/存在。这很容易做到 Mkdir -p /usr/local/var/db/redis

最后用brew services重启redis。

你是怎么发现的!?

我浪费了很多时间试图弄清楚redis是否没有通过homebrew使用默认设置,以及它在哪个端口上。服务是误导性的,因为即使redis-server实际上没有启动,brew服务列表仍然会显示redis为“已启动”。最好的方法是使用brew服务——详细启动redis,它会显示日志文件在/usr/local/var/log/redis.log。我在里面找到了确凿的证据

Fatal error, can't open config file '/usr/local/etc/redis.conf'

or

Can't chdir to '/usr/local/var/db/redis/': No such file or directory

幸运的是,日志使上述解决方案变得显而易见。

我不能运行redis-server吗?

你当然可以。如果你运行redis-server &,它只会占用一个终端或偶尔打断你的终端。它也会把转储。RDB在您运行它的任何目录中(pwd)。我很讨厌在git中删除文件或忽略它,所以我想让brew用服务来做这项工作。

我刚刚遇到了同样的问题,因为我在配置文件中使用了不正确的语法。我想补充一点:

maxmemory-policy allkeys-lru

到我的配置文件中,但只添加了:

allkeys-lru

这显然阻止了Redis解析配置文件,这反过来又阻止了我通过cli连接。修正这个语法可以让我连接到Redis。

我使用的是Ubuntu 18.04 我刚刚在CMD中输入了这个命令 Sudo systemctl start redis-server 现在它正在发挥作用。所以我认为我的redis服务器没有启动,为什么它显示我的错误 无法连接到Redis 127.0.0.1:6379:连接被拒绝。

试试这个:

sudo service redis-server restart

首先,您需要使用以下命令启动/启动所有redis节点,一个接一个地启动所有的conf文件。 @注:如果你正在建立集群,那么你应该有6个节点,3个主节点和3个从节点。Redis-cli将使用——cluster命令从6个节点中自动选择主节点和从节点,如下所示。

[xxxxx@localhost redis-stable]$ redis-server xxxx.conf 

然后运行

[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

上述输出应如下:

    >>> Performing hash slots allocation on 6 nodes...

自动设置所有东西的第二种方法: 您可以使用utils/create-cluster脚本来设置您喜欢的任何东西 启动所有节点,创建集群 你可以关注https://redis.io/topics/cluster-tutorial

谢谢