在 Laravel 中监控 Redis 命令
Laravel可以使用DB::listen()
很方便的监听sql查询事件,但是却无法监控Redis。因此开发了一个小小的扩展来产生Redis命令执行事件,以方便监控运行程序运行中的Redis请求。
暂时只支持
Predis
Listening Laravel pRedis Queries
安装
$ composer require "al-one/laravel-predis-listened" -vvv
目前这个包还没有一个稳定版本。请在
composer.json
中加入:
"minimum-stability": "dev",
"prefer-stable": true,
使用
注释掉框架自带的RedisServiceProvider
服务,添加Alone\LaravelRedisExtendable\RedisServiceProvider::class
及Alone\LaravelPredisListened\ServiceProvider::class
服务:
# config/app.php
<?php
return [
'providers' => [
// Illuminate\Redis\RedisServiceProvider::class,
Alone\LaravelRedisExtendable\RedisServiceProvider::class,
Alone\LaravelPredisListened\ServiceProvider::class,
],
];
修改Redis默认客户端驱动:
# config/database.php
<?php
return [
'redis' => [
'client' => 'predis_listened',
],
];
监听Redis命令执行事件:
use Alone\LaravelPredisListened\RedisEvent;
Facades\Event::listen(RedisEvent::class,function(RedisEvent $event)
{
$event->command; // Redis命令
$event->arguments; // 参数
$event->time; // 耗时
});
本作品采用《CC 协议》,转载必须注明作者和本文链接
觉得好用的话给个star :star: 支持下 :smile: 。
什么情况
@lovecn
目前这个包还没有一个稳定版本。请在
composer.json
中加入: