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

Opening port: bind: Address already in use

我不知道如何停止这个服务器,并启动一个新的。

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

我的操作系统是Ubuntu 10.04。


当前回答

要优雅地使用密码关闭特定实例,而不诉诸于暴力杀死命令,请使用:

Redis-cli -p <port> -a <pass> shutdown

root@machine:~# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       105  0.1  0.0  60552 10772 ?        Ssl  23:27   0:02 redis-server 127.0.0.1:10002
root       111  0.1  0.0  60552 10900 ?        Ssl  23:28   0:02 redis-server 127.0.0.1:10003
root       117  0.1  0.0  60552 10872 ?        Ssl  23:28   0:02 redis-server 127.0.0.1:10004

root@machine:~# redis-cli -p 10002 -a mypassword shutdown
Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

root@machine:~# ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root       111  0.1  0.0  60552 10900 ?        Ssl  23:28   0:02 redis-server 127.0.0.1:10003
root       117  0.1  0.0  60552 10872 ?        Ssl  23:28   0:02 redis-server 127.0.0.1:10004

root@machine:~#

如果有大量的实例,就需要编写一个批处理脚本来循环遍历所有实例,以便主关机。

其他回答

另一种方式是:

brew services stop redis

停止redis服务

sudo service redis-server stop

并检查其使用状态

sudo service redis-server status

下面的命令适用于我的Ubuntu服务器

$ service /etc/init.d/redis_6379 stop
$ service /etc/init.d/redis_6379 start
$ service /etc/init.d/redis_6379 restart

我建议禁用Redis-server,它可以防止计算机重启时自动启动,对使用docker之类的工具非常有用。

步骤1:停止redis-server

sudo service redis-server stop

步骤2:关闭redis-server

sudo systemctl disable redis-server

如果你需要redis,你可以这样启动:

sudo service redis-server start

在MacOSX上,

这对我来说很管用

/etc/init.d/redis restart

/etc/init.d/redis stop

/etc/init.d/redis start