auth($resis_pwd); // 选择数据库(默认0) $redis->select(0); // 设置读取超时(-1表示不超时) $redis->setOption(\Redis::OPT_READ_TIMEOUT, -1); // 订阅键过期事件频道 // __keyevent@0__:expired 表示监听0号数据库的键过期事件 $redis->psubscribe(['__keyevent@0__:expired'], function ($pattern, $channel, $key) use($redis){ // 这里可以添加你的业务逻辑 // 例如根据键名前缀处理不同业务 $str = 'expired:sms:'; if (strpos($key, $str) === 0) { Log::info ("替换之前: " . $key); $id = str_replace($str, '', $key); Log::info ("替换过的ID: " . $id); // 发给队列 Redis::send('send.mark.sms', '1,' . $id); Log::info ("处理订单过期: {$id}\n{}"); } }); } }