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

Opening port: bind: Address already in use

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

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

我的操作系统是Ubuntu 10.04。


当前回答

如果你在docker容器中运行redis,目前的答案都没有帮助。你必须停止redis容器。否则,redis进程会一直刷新。

$ docker ps
CONTAINER ID        IMAGE                    PORTS                             
e1c008ab04a2        bitnami/redis:4.0.8-r0   0.0.0.0:6379->6379/tcp

$ docker stop e1c008ab04a2
e1c008ab04a2

其他回答

选项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:

kill -9 22292

kill -9 22299

我使用的是Centos 6.7, x86_64

希望能有所帮助

另一种方式是:

brew services stop redis

试试杀死所有redis-server。您还可以使用ps aux来查找服务器的名称和pid,然后使用kill -9 here_pid_number终止它。

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

在redis-cli中,输入help @server,你会在列表底部看到:

SHUTDOWN - summary:同步保存数据集到磁盘,然后 从: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...

以下是我在MAC上的工作

 ps aux | grep 'redis-server' | awk '{print $2}' | xargs sudo kill -9