Bagaimana untuk terus mendengar langganan mesej Redis dan menghantar pemberitahuan dalam PHP?
Redis ialah pangkalan data NoSQL berdasarkan pasangan nilai kunci Ia bukan sahaja menyediakan fungsi penyimpanan dan akses data yang cekap, tetapi juga mempunyai mekanisme penerbitan/langganan mesej yang berkuasa. Dalam PHP, kami boleh menggunakan fungsi langganan mesej Redis untuk melaksanakan fungsi pemantauan dan pemberitahuan mesej masa nyata.
Untuk melaksanakan pemantauan berterusan langganan mesej Redis dan menghantar pemberitahuan dalam PHP, kami perlu memasang sambungan Redis terlebih dahulu. Ia boleh dipasang dengan mengikuti langkah-langkah:
Kompil dan pasang sambungan Redis:
Ekstrak fail sambungan Redis yang dimuat turun dan masukkan folder yang dinyahmampat. Gunakan arahan berikut untuk menyusun dan memasang sambungan Redis:
phpize ./configure make && make install
Ubah suai fail php.ini:
Buka fail php.ini dan tambah baris berikut pada penghujung:
extension=redis.so
Selepas pemasangan selesai, kami boleh menggunakan contoh kod berikut untuk terus mendengar langganan mesej Redis dan menghantar pemberitahuan:
<?php $redis = new Redis(); // 连接Redis服务器 $redis->connect('127.0.0.1', 6379); // 订阅指定频道的消息 $redis->subscribe(['channel'], function ($redis, $channel, $message) { // 处理接收到的消息,并发送通知 sendNotification($message); }); // 发送通知函数 function sendNotification($message) { // 这里可以使用你自己的发送通知逻辑,比如调用API发送通知到移动设备或电子邮件 // ... echo 'Received message: ' . $message . PHP_EOL; } // 注意这里是个死循环,会一直监听Redis的消息,使用Ctrl+C来停止监听 while (true) { $redis->pubsubLoop(); }
Dalam kod di atas, kami mula-mula mencipta objek Redis dan menggunakan langgan
untuk melanggan saluran bernama channel
, memproses mesej yang diterima dalam fungsi panggil balik dan menghantar mesej kepada sendNotification
berfungsi untuk menghantar pemberitahuan. Akhir sekali, teruskan memantau mesej Redis melalui kaedah pubsubLoop
. connect
方法连接到Redis服务器。接下来,我们使用subscribe
方法订阅了一个名为channel
的频道,并在回调函数中处理接收到的消息,将消息传递给sendNotification
函数来发送通知。最后,通过pubsubLoop
方法来持续监听Redis的消息。
需要注意的是,以上代码是一个简单的示例,你可以根据你自己的需求进行修改和扩展。比如可以在sendNotification
sendNotification
untuk menghantar pemberitahuan ke peranti mudah alih atau e-mel yang berbeza. Melalui kaedah di atas, kami boleh melaksanakan fungsi memantau langganan mesej Redis dan menghantar pemberitahuan secara berterusan dalam PHP. Mekanisme ini sangat sesuai untuk senario yang menghantar mesej dan pemberitahuan tolak masa nyata, seperti aplikasi sembang, sistem pemantauan masa nyata, dsb. 🎜
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan pemantauan berterusan langganan mesej Redis dan menghantar pemberitahuan dalam PHP?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!