¿Cómo reinicio redis que instalé con brew?

66

Solía ​​brew para instalar redis (un servidor de base de datos de almacén de claves / valores) para mi aplicación node.js.

brew install redis

Sin embargo, parece desaparecer y es muy volátil. Debido a que estoy usando redis como mi almacén de sesión, necesito poder reiniciarlo rápidamente en mi Mac cuando esto sucede.

¿Cómo reinicio redis que instalé con brew?

chovy
fuente

Respuestas:

64

actualizar

los servicios de preparación caducaron debido a que nadie quiere mantenerlo. consulte a continuación: https://github.com/Homebrew/homebrew/issues/28657

comprobar la launchctlfunción en su lugar.

o lunchy

Entonces en lugar de:

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

Puedes hacerlo:

lunchy start redis

y:

lunchy ls

referencias: https://github.com/eddiezane/lunchy

Solía ​​poder usarse de la siguiente manera:

brew services restart redis

debe ser el comando de reinicio que desee. También puedes correr

brew services list

que le dará una lista de sus servicios de preparación.

conocer
fuente
2
Tuve que volver a instalar redis con brew para obtenerlo en la lista de inicio, luego funcionó bien
Stuart Nelson
1
"Advertencia: los servicios de preparación no son compatibles y se eliminarán pronto".
user72923
2
Es bastante tonto eliminar un atajo tan útil. Pero, por cierto, tiene errores. Puedo detener el redis brew services, pero después de eso no puedo comenzar de nuevo.
Phuong Nguyen
3
brew ya no admite el verbo "servicios" a partir de 0.9.5
oDDsKooL
44
Tenga en cuenta que brebaje lo hace compatible con el comando los servicios que ahora a través de un grifo. Vea la respuesta a continuación, es una respuesta más relevante ahora.
GrayedFox el
38

A partir del 7 de diciembre de 2015, puede usar brew services.

Necesita brew tap homebrew/servicesy luego lo siguiente funcionará como se espera:

Instalar en pc brew install redis

comienzo brew services start redis

detener brew services stop redis

reiniciar brew services restart redis

Más información aquí: https://github.com/Homebrew/homebrew-services

microspino
fuente
la respuesta conflictiva anterior dice que brew servicesestá en desuso.
chovy
55
@chovy Fueron desaprobados por falta de mantenimiento, pero ahora están de vuelta nuevamente como un grifo de preparación . Como puede ver, la última confirmación es de hace 27 días .
microspino
3
Esta es una respuesta más relevante y actualizada ahora que las anteriores, y más rápida de implementar que de launchctlforma manual .
GrayedFox
2
Es 2017 y estoy usando Brew v1.3.6 y esto funciona perfectamente bien.
Ryan Taylor
23

Brew ya no admite el servicescomando.

La forma recomendada es usar el launchctlcomando os x .

Primero debe configurar redis como un servicio administrado por launchctl:

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

Luego puede usar launchctl load/ launchctl unloadpara iniciar / detener el servicio:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
oDDsKooL
fuente
brew 0.9.5 servicios de soporte, aquí están $ brew --version Homebrew 0.9.5 (git revision bf22; last commit 2016-03-06) $ brew services list Nombre Estado Usuario Plist postgresql detenido redis detenido $
AMIC MING
19

Encontré que todas estas opciones enumeradas en brew package ( brew info redis) tienen muchos errores. Por ejemplo, redis arroja un montón de errores si no se inicia con root. Terminé simplemente haciendo la llamada directa con sudo y eliminando archivos launchctl.

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

Esperaba que hubiera una manera de reiniciar fácilmente redis desde la línea de comando, pero eso no parece posible. Por lo tanto, corro con el modo demonio configurado en 'no' y lo veo iniciar sesión en stdout, luego puedo matarlo fácilmente.

chovy
fuente
1
He agregado este comando con '& disown' al fondo y desvinculado del proceso
Ben Simpson
2
Vea la otra respuesta que usa launchctl, funciona y ahora es compatible con la receta de preparación.
oDDsKooL
1

Para Homebrew 1.5.14

redis-server

Miguel codificador
fuente
44
¡Bienvenido a Super User! Esto duplica la información presente en otra respuesta : ¿puede diferenciarla? :)
bertieb
¡Ahora es lo mismo que la respuesta aceptada ! (Realmente deberías eliminar esta respuesta.)
robinCTS
no, no es. Incluyó el camino a un archivo conf. Claramente no es lo mismo, y no es obligatorio. Sé que no quiero escribir la ruta a un archivo conf cada vez que inicio y detengo Redis y creo que cualquier persona que lea esto (además de usted) lo encontrará valioso.
Miguel Coder