Sfoglia il codice sorgente

基于 Redis 实现 Laravel 全站访问 PV 统计中间件功能

chenlong 4 anni fa
parent
commit
cf6fd8dac7
3 ha cambiato i file con 28 aggiunte e 0 eliminazioni
  1. 1 0
      app/Http/Kernel.php
  2. 23 0
      app/Http/Middleware/SiteVisits.php
  3. 4 0
      routes/web.php

+ 1 - 0
app/Http/Kernel.php

@@ -21,6 +21,7 @@ class Kernel extends HttpKernel
         \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
         \App\Http\Middleware\TrimStrings::class,
         \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
+        \App\Http\Middleware\SiteVisits::class,
     ];
 
     /**

+ 23 - 0
app/Http/Middleware/SiteVisits.php

@@ -0,0 +1,23 @@
+<?php
+
+namespace App\Http\Middleware;
+
+use Closure;
+use Illuminate\Http\Request;
+use Illuminate\Support\Facades\Redis;
+
+class SiteVisits
+{
+    /**
+     * Handle an incoming request.
+     *
+     * @param  \Illuminate\Http\Request  $request
+     * @param  \Closure  $next
+     * @return mixed
+     */
+    public function handle(Request $request, Closure $next)
+    {
+        Redis::incr('site_total_visits');
+        return $next($request);
+    }
+}

+ 4 - 0
routes/web.php

@@ -20,3 +20,7 @@ Route::get('/', function () {
 Route::get('/connection', function () {
     dd(\Illuminate\Support\Facades\Redis::connection());
 });
+
+Route::get('/site_visits', function () {
+    return '网站全局访问量:' . \Illuminate\Support\Facades\Redis::get('site_total_visits');
+});