di phpredis 4.3.0, close() dapat menutup koneksi yang dibuat oleh pconnect(). jika Anda menggunakan metode redis setelah close(), koneksi persisten baru akan dibuat secara otomatis.
Apakah Anda menelepon pconnect dengan batas waktu? Dengan asumsi koneksi ditutup setiap kali batas waktu terlampaui, Anda dapat menyelesaikan ulang master sebelum memanggil pconnect lagi dengan alamat yang berbeda.
Jika Anda menjalankan klaster Redis, PHPRedis memiliki mode klaster dengan perilaku batas waktu yang khusus untuk penyiapan ini dengan dukungan untuk respons 'PINDAHKAN':https://github.com/phpredis/phpredis/blob/develop/cluster.markdown#timeout
Persistent stream disediakan oleh internal PHP, itu adalah hukum tidak tertulis bahwa apa pun yang memperlihatkan cara untuk membuat aliran persisten juga harus menyediakan cara untuk menghancurkannya.
PHP Redis melanggar hukum itu, tidak ada cara bagi Anda untuk menghancurkan aliran persisten dari userland.
Tindakan yang harus dilakukan untuk PR adalah implementasi dari metode yang diperlukan.
Berikut tambalan terhadap cabang PHP7 yang mengimplementasikan Redis::pclose:https://Gist.github.com/krakjoe/326eadc61bea38fdd6e6
Perhatikan bahwa, kode untuk pdisconnect didasarkan pada pemutusan yang ada, kedua fungsi ini terlihat aneh bagi saya dan tidak jujur tentang nilai pengembaliannya. Saya berasumsi ada beberapa tes atau kode di suatu tempat yang mengandalkan keanehan itu jadi belum berusaha memperbaikinya.
PR mana pun harus menyebutkan bahwa fungsi ini terlihat aneh, dan PHP7 adalah waktu yang tepat untuk memecahkan masalah.