redis发布与订阅-初探
程序员文章站
2022-06-11 14:11:57
...
环境:windows10,已安装redis
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
if(empty($argv[1])) echo "Please input your channel";
$channel = $argv[1]; // channel
$redis->subscribe(array($channel), 'callback');
function callback($instance, $channelName, $message) {
echo $channelName, "==>", $message,PHP_EOL;
}
1、命令行版
打开cmd,切换到redis安装目录,该目录下应该有redis-cli.exe、 redis-server.exe、 redis.conf等文件。
开启本地redis服务:执行redis-server.exe redis.conf,启动redis服务。
客户端连接redis服务:执行redis-cli.exe -h 127.0.0.1,连接上redis服务。
订阅者订阅感兴趣的消息类型:subscribe news.it
发布者发布消息:publish news.it "i like it"
2、php版
订阅:subscribe.php
ini_set('default_socket_timeout', -1); //不超时$redis = new Redis();
$redis->connect('127.0.0.1',6379);
if(empty($argv[1])) echo "Please input your channel";
$channel = $argv[1]; // channel
$redis->subscribe(array($channel), 'callback');
function callback($instance, $channelName, $message) {
echo $channelName, "==>", $message,PHP_EOL;
}
发布:publish.php
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
/*argv[0]为执行的文件名,argv[1]为执行文件紧跟的第一个参数*/
$channel = $argv[1]; // channel
$msg = $argv[2]; // msg
//var_dump($channel.$msg);
$redis->publish($channel, $msg);
运行:
以上就介绍了redis发布与订阅-初探,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。