<aside> <img src="/icons/brightness-high_yellow.svg" alt="/icons/brightness-high_yellow.svg" width="40px" /> 為了滿足每日Counter歸零,可以設定午夜時分將 Redis 清空。至於統計量,可以設定每個小時或其他間隔時間計算,以免浪費系統效能。
</aside>
定義統計量任務:
建立一個任務,用於計算統計量並將結果保存在數據庫中。
php artisan make:job CalculateStatistics
定義清零 Redis 任務:
建立一個任務,用於清空 Redis 中的計數器。
php artisan make:job ClearRedisCounter
設置 Task Scheduling:
打開 app/Console/Kernel.php
文件,設置 Task Scheduling。在 schedule
方法中定義任務計劃:
protected function schedule(Schedule $schedule)
{
// 每小時統計量任務
$schedule->job(new CalculateStatistics())->hourly();
// 午夜1:00清零 Redis 任務
$schedule->job(new ClearRedisCounter())->dailyAt('1:00');
}
使用 crontab 執行