如何重新启动与brew一起安装的Redis?


66

我使用brew为我的node.js应用程序安装Redis(键/值存储数据库服务器)。

brew install redis

但是,它似乎消失了并且非常不稳定。因为我将redis用作会话存储,所以我需要能够在发生这种情况时在Mac上快速重新启动它。

如何重新启动与brew一起安装的Redis?

Answers:


64

更新

Brew服务已过期,因为没有人想要维护它。检查以下内容:https : //github.com/Homebrew/homebrew/issues/28657

检查launchctl功能。

要么 lunchy

所以代替:

launchctl load ~/Library/LaunchAgents/io.redis.redis-server.plist

你可以这样做:

lunchy start redis

和:

lunchy ls

参考:https : //github.com/eddiezane/lunchy

它曾经可以如下使用:

brew services restart redis

应该是您想要的重新启动命令。你也可以跑

brew services list

这将为您提供您的冲泡服务列表。


2
我必须用brew重新安装redis才能将其添加到启动plist中,然后一切正常
Stuart Nelson

1
“警告:不支持Brew服务,将很快删除。”
user72923

2
删除这种有用的快捷键非常愚蠢。顺便说一下,这是越野车。我可以使用停止Redis brew services,但之后无法再次启动它。
Phuong Nguyen 2014年

3
从0.9.5开始,brew不再支持“服务”动词
oDDsKooL,2014年

4
请注意,BREW 支持该服务的命令现在可以通过一个水龙头。请参阅下面的答案,这是一个更相关的答案。
GrayedFox

38

自2015年12月7日起,您可以使用brew services

您需要先完成brew tap homebrew/services以下工作:

安装 brew install redis

开始 brew services start redis

brew services stop redis

重新开始 brew services restart redis

更多信息在这里:https : //github.com/Homebrew/homebrew-services


上面说的冲突答案brew services已被弃用。
chovy

5
@chovy由于缺乏维护而被弃用,但现在又作为冲泡水龙头回来了。如您所见,最后一次提交是从27天前开始的
microspino 2015年

3
现在,与上述方法相比,这是一个更相关且最新的答案,并且比手动launchctl方法实现起来更快。
GrayedFox

2
那是2017年,我正在使用Brew v1.3.6,这工作得很好。
瑞安·泰勒

23

Brew不再支持该services命令。

推荐的方法是使用os x的launchctl命令。

首先,您需要将redis设置为由launchctl管理的服务:

$ ln -sfv /usr/local/opt/redis/*.plist ~/Library/LaunchAgents

然后,您可以使用launchctl load/ launchctl unload启动/停止服务:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist

brew 0.9.5支持服务,这里是$ brew --version Homebrew 0.9.5(git版本bf22;最后一次提交2016-03-06)$ brew服务列表名称状态用户Plist postgresql已停止redis已停止$
AMIC MING

19

我发现brew包(brew info redis)中列出的所有这些选项均存在问题。例如,如果redis不是以root开头的,则将引发很多错误。我最终只是使用sudo进行了直接调用并删除了launchctl文件。

sudo redis-server /usr/local/etc/redis.conf

我希望有一种方法可以从命令行轻松地重新启动Redis,但这似乎是不可能的。因此,我将守护程序模式设置为“ no”,然后将其记录到stdout,然后可以轻松杀死它。


1
我在此命令的背景上附加了'&disown'并脱离了进程
Ben Simpson

2
查看使用的其他答案launchctl,它可以正常工作,并且现在由酿造配方支持。
oddsKooL,2014年

1

对于自制1.5.14

redis-server


4
欢迎来到超级用户!这会重复出现在另一个答案中的信息 -您能完全区分它吗?:)
bertieb '18年

现在与接受的答案相同!(您确实应该删除此答案。)
robinCTS

不,这不对。他包括了conf文件的路径。显然不一样,也不是必需的。我知道我不想每次启动和停止Redis时都输入conf文件的路径,我想其他人(您除外)都会发现它有价值。
米格尔编码器
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.