Redis Pub/Sub 管理
程序员文章站
2024-02-03 20:18:40
...
学习redis Pub/Sub管理,php后台一个简单的实现,实现连接不断开,监听所有订阅者发送过来的消息。
直接在服务端运行 php redis.php 或者 在后台运行 nohup php redis.php &
<?php
ini_set('default_socket_timeout', -1); //连接不超时,不然就会出现read error connection 错误
set_time_limit(0);//设置运行不超时
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
while (true) {
##回调操作,处理相关业务逻辑
function callback($instance, $chan, $msg)
{
file_put_contents('message.txt', $chan . $msg . PHP_EOL, 8);
echo $chan . $msg;
}
$redis->subscribe(['test'], 'callback');//第一个参数监听对象,第二个参数是回调,专门用于处理业务逻辑
}
客户端推送消息操作
php程序里面这样写,实现消息推送 php push.php hello,world
<?php
$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
$redis->publish('test', $argv[1]);