Pārlūkot izejas kodu

分支提交(不合并)

Zhouzhendong 5 gadi atpakaļ
vecāks
revīzija
d074636f29

+ 7 - 0
app/Http/Controllers/TestController.php

@@ -187,6 +187,13 @@ class TestController extends Controller
 
     public function zzd()
     {
+        $menu = Menu::query()->get();
+        Cache::put("menu",$menu);
+        /** @var \Illuminate\Database\Eloquent\Collection $a */
+        $a = Cache::get("menu");
+        $menu = Menu::query()->first();
+        $a->add($menu);
+        dd($a);
         ini_set('max_execution_time', 2500);
         ini_set('memory_limit', '1526M');
         $menus = [

+ 13 - 4
app/Services/MenuService.php

@@ -14,7 +14,13 @@ class MenuService
     public function getMenu()
     {
         if (!Cache::has("menus")){
-            if (Cache::lock("menus",1))$this->setMenu();
+            if (Cache::lock("menus",2)){
+                $this->setMenu();
+                Cache::lock("menus")->release();
+            }else{
+                sleep(1);
+                return Cache::get("menus") ?? [];
+            }
         }
         return Cache::get("menus");
     }
@@ -25,9 +31,12 @@ class MenuService
         Cache::tags("menu")->flush();
     }
 
-    public function appendMenu()
+    public function appendMenu(Menu $menu)
     {
-
+        $menus = $this->getMenu();
+        if ($menus){
+            $menus->add($menu);
+            Cache::forever("menus",$menus);
+        }
     }
-
 }