当前位置:  开发笔记 > 后端 > 正文

如何停止redis-server?

如何解决《如何停止redis-server?》经验,为你挑选了12个好方法。

我显然有一个redis-server实例正在运行,因为当我尝试通过输入启动一个新服务器时redis-server,我受到以下欢迎:

Opening port: bind: Address already in use

我无法弄清楚如何停止此服务器并启动一个新服务器.

redis-server当我在CLI中键入时,是否可以附加任何命令?

我的操作系统是Ubuntu 10.04.



1> yojimbo87..:

连接到节点实例并使用shutdown命令,或者如果您使用的是ubuntu,则可以尝试通过init.d重新启动redis服务器:

/etc/init.d/redis-server restart

或停止/启动它:

/etc/init.d/redis-server stop
/etc/init.d/redis-server start

在Mac上

redis-cli shutdown


在mac`redis-cli shutdown`上工作
如果以这种方式设置redis,则只能这样做.Kevin McTigue的答案适用于最小化设置.
在现代的Ubuntu上,我使用`apt-get install redis-server`安装它之后使用`service redis-server stop`和`service redis-server start`.

2> Kevin McTigu..:

更干净,更可靠的方法是进入redis-cli然后输入 shutdown

在redis-cli中,键入help @server,您将在列表底部附近看到:

SHUTDOWN - 摘要:同步将数据集保存到磁盘,然后关闭服务器,因为:0.07

如果您在终端中运行了redis-server实例,您会看到:

User requested shutdown...
[6716] 02 Aug 15:48:44 * Saving the final RDB snapshot before exiting.
[6716] 02 Aug 15:48:44 * DB saved on disk
[6716] 02 Aug 15:48:44 # Redis is now ready to exit, bye bye...


或者甚至不开始redis-cli.只需通过`redis-cli shutdown`从命令行发送它.(你可以发送任何这样的命令,例如`redis-cli set cat dog; redis-cli get cat`)
对@jessebuesking评论的唯一警告是,如果你设置了密码保护,`redis-cli设置猫狗; redis-cli将cat改为`redis-cli -a mypassword set cat dog; redis-cli -a mypassword get cat`,经过一些命令后可能很烦人.

3> SimplGy..:

redis-cli shutdown是最有效的.接受的答案对我不起作用(OSX Lion).谢谢,@ JesseBuesking.



4> Ray Hunter..:

对于osx,我创建了以下别名来启动和停止redis(使用自制软件安装redis):

alias redstart='redis-server /usr/local/etc/redis/6379.conf'
alias redstop='redis-cli -h 127.0.0.1 -p 6379 shutdown'

这对我来说非常适合当地的发展.


如果您使用自制软件安装redis,那么`brew services stop redis`也可以!:)

5> 小智..:

键入SHUTDOWN的CLI

要么

如果您不关心内存中的数据,也可以键入SHUTDOWN NOSAVE以强制关闭服务器.



6> ciembor..:

试试killall redis-server.您也可以使用ps aux查找服务器的名称和pid,然后使用它来终止它kill -9 here_pid_number.


硬盘杀死数据库服务器的坏主意.总是喜欢正确的关机,或者至少要杀掉-15而不是kill -9.
@ notbad.jpeg,当然,您也可以将电脑放在地板上.如果表足够高,这也应该停止服务器.我是否需要一个链接或一些解释为什么这是一个坏主意?
@ZsoltSzilagy,您应该提供链接或某种解释*为什么*这是一个坏主意。就像redis延迟写入的方式一样,因此内存中仍将有未提交的数据。
使用这种方法,您无需考虑redis数据库状态。您正在使用操作系统功能来关闭应用程序,而不是使用应用程序本身或守护程序,后者也可能也在使用应用程序功能。此解决方案就像拔下电缆以关闭电视。

7> App Work..:

选项1:转到redis安装目录并导航到src,在我的情况下:

/opt/redis3/src/redis-cli -p 6379 shutdown

其中6379是默认端口.

选项2:找到redis进程并终止

ps aux | grep redis-server

t6b3fg   22292  0.0  0.0 106360  1588 pts/0    S+   01:19   0:00 /bin/sh /sbin/service redis start
t6b3fg   22299  0.0  0.0  11340  1200 pts/0    S+   01:19   0:00 /bin/sh /etc/init.d/redis start

然后发起杀戮:

kill -9 22292

kill -9 22299

我正在使用Centos 6.7,x86_64

希望能帮助到你



8> smace..:

另一种方式可能是:

ps -ef | grep -i 'redis-server'
kill -9 PID owned by redis

适用于*NIX和OSX



9> denny..:

使用root用户在终端中停止redis服务器类型

sudo service redis-server stop

停止redis-server后将显示该消息

Stopping redis-server: redis-server.

如果要启动redis-server类型

sudo service redis-server start

如果要重新启动服务器类型

sudo service redis-server restart



10> 小智..:

MacOSX - 它工作了:)

步骤1:找到以前运行的Redis服务器

ps auxx | grep redis-server

步骤2:通过查找PID(进程ID) - Redis Sever来终止特定进程

kill -9 PID



11> cptjack..:

如果你知道它将在哪个端口上运行(默认情况下它是6379),你可以使用下面的命令来获取使用该端口的进程的pid,然后可以为同一个pid执行kill命令.

sudo lsof -i :  | awk '{print $2}'

上面的命令会给你pid.

;

这会关闭您的服务器.



12> Christopher ..:

通常,在我以不规则的方式关闭计算机(或使其处于运行状态)之后,会出现此问题。我相信端口会卡住,而进程会停止,但会继续绑定到先前的端口。

修复的9/10倍可以是:

$ ps aux | grep redis

-> MyUser 2976  0.0  0.0  2459704    320   ??  S    Wed01PM   0:29.94 redis-server *:6379

$ kill 2976

$ redis-server

好去。

推荐阅读
大大炮
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有