Bagaimana cara me-restart redis yang saya instal dengan minuman?

66

Saya menggunakan minuman untuk menginstal redis (server database toko kunci / nilai) untuk aplikasi node.js saya.

brew install redis

Namun, tampaknya menghilang dan sangat fluktuatif. Karena saya menggunakan redis sebagai toko sesi saya, saya harus dapat dengan cepat me-restart pada mac saya ketika ini terjadi.

Bagaimana cara me-restart redis yang saya instal dengan minuman?

kenyal
sumber

Jawaban:

64

memperbarui

layanan minuman kadaluarsa karena tidak ada yang mau memeliharanya. periksa di bawah ini: https://github.com/Homebrew/homebrew/issues/28657

periksa launchctlfungsi sebagai gantinya.

atau lunchy

Jadi alih-alih:

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

kamu bisa melakukan ini:

lunchy start redis

dan:

lunchy ls

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

Dulu bisa digunakan seperti di bawah ini:

brew services restart redis

harus menjadi perintah restart yang Anda inginkan. Anda juga bisa berlari

brew services list

yang akan memberi Anda daftar layanan minuman Anda.

ken
sumber
2
Saya harus menginstal ulang redis dengan minuman untuk mendapatkannya di startup startup, maka ini berfungsi dengan baik
Stuart Nelson
1
"Peringatan: layanan minuman tidak didukung dan akan segera dihapus."
user72923
2
Sangat bodoh untuk menghapus jalan pintas yang sangat berguna. Tapi omong-omong itu buggy. Saya dapat berhenti redis dengan brew services, tetapi setelah itu saya tidak dapat memulainya lagi.
Phuong Nguyen
3
brew tidak lagi mendukung kata kerja "services" pada 0.9.5
oDDsKooL
4
Harap dicatat bahwa minuman tidak mendukung perintah layanan sekarang melalui keran. Lihat jawaban di bawah, itu adalah jawaban yang lebih relevan sekarang.
GrayedFox
38

Pada Des-7-2015 Anda dapat menggunakan brew services.

Anda perlu brew tap homebrew/servicesdan kemudian hal-hal berikut akan berfungsi seperti yang diharapkan:

Pasang brew install redis

mulai brew services start redis

berhenti brew services stop redis

mengulang kembali brew services restart redis

Info lebih lanjut di sini: https://github.com/Homebrew/homebrew-services

mikrosino
sumber
jawaban yang bertentangan di atas mengatakan brew servicessudah usang.
chovy
5
@chovy Mereka tidak digunakan lagi karena kurang pemeliharaan, tetapi sekarang kembali lagi sebagai minuman buatan . Seperti yang Anda lihat, komit terakhir adalah dari 27 hari yang lalu .
microspino
3
Ini adalah jawaban yang lebih relevan dan terkini dari pada yang di atas, dan lebih cepat diterapkan daripada menggunakan launchctlcara manual .
GrayedFox
2
Ini 2017 dan saya menggunakan Brew v1.3.6 dan ini berfungsi dengan baik.
Ryan Taylor
23

Brew tidak mendukung servicesperintah lagi.

Cara yang disarankan adalah menggunakan launchctlperintah os x .

Pertama, Anda perlu mengatur redis sebagai layanan yang dikelola oleh launchctl:

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

Kemudian Anda dapat menggunakan launchctl load/ launchctl unloaduntuk memulai / menghentikan layanan:

$ # start redis server
$ launchctl load ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
$
$ # stop redis server
$ launchctl unload ~/Library/LaunchAgents/homebrew.mxcl.redis.plist
oDDsKooL
sumber
brew 0.9.5 layanan dukungan, ini dia $ brew --version Homebrew 0.9.5 (revisi git bf22; komit terakhir 2016-03-06) $ brew daftar layanan Nama Status User Plist postgresql berhenti redis dihentikan $
AMIC MING
19

Saya menemukan semua opsi ini tercantum dalam paket buatan ( brew info redis) sangat buggy. Misalnya redis melempar banyak kesalahan jika tidak dimulai dengan root. Saya akhirnya hanya melakukan panggilan langsung dengan sudo dan menghapus file launchctl.

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

Saya berharap ada cara untuk dengan mudah me-restart redis dari baris perintah, tapi itu sepertinya tidak mungkin. Karena itu, saya menjalankan dengan mode daemon yang diatur ke 'tidak' dan menontonnya masuk ke stdout, maka saya dapat membunuhnya dengan mudah.

kenyal
sumber
1
Saya telah menambahkan perintah ini dengan '& menolak' ke latar belakang dan lepas dari proses
Ben Simpson
2
Lihat jawaban lain yang menggunakan launchctl, itu berfungsi dan didukung sekarang oleh resep minuman.
oDDsKooL
1

Untuk Homebrew 1.5.14

redis-server

Miguel Coder
sumber
4
Selamat Datang di Pengguna Super! Informasi duplikat ini hadir dalam jawaban lain - dapatkah Anda membedakannya sama sekali? :)
bertieb
Sekarang sama dengan jawaban yang diterima !! (Anda harus menghapus jawaban ini.)
robinCTS
tidak bukan. Dia memasukkan path ke file conf. Jelas tidak sama, dan tidak wajib. Saya tahu saya tidak ingin mengetikkan path ke file conf setiap kali saya memulai dan menghentikan Redis dan saya pikir orang lain yang membaca ini (selain Anda) akan menemukan itu berharga.
Miguel Coder