这边是订阅者,大家会发现我在订阅者那边发布的信息,这边都接收了,而且执行了linux的命令
这边是发布者
下面是php的例子,在这里咱们可以把php当做脚本用。
首先是编译安装phpRedis扩展,扩展的地址和api手册可见:https://github.com/nicolasff/phpredis
发布者
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel = $argv[1]; // channel
$msg = $argv[2]; // msg
$redis->publish('channel'.$channel, $msg);
订阅者
$redis = new Redis();
$redis->connect('127.0.0.1',6379);
$channel = $argv[1]; // channel
$redis->subscribe(array('channel'.$channel), 'callback');
function callback($instance, $channelName, $message) {
echo $channelName, "==>", $message,PHP_EOL;
}
可以分别开三个终端窗口
在终端1中执行:
php redis-sub.php 1
在终端2中执行:
php redis-sub.php 2
在终端3中执行:
php redis-pub.php 1 hello
此时在终端1中可以打印出hello;
执行
php redis-pub.php 2 world
则在终端2中打印出world。