Laravel 資源還是定制存儲庫?

    本周早些時候,在使用 laravel rest api 時,我遇到了超時錯誤的煩惱。它導致最終用戶對開發問題感到沮喪。讓我簡單介紹一下整個場景:

    我需要從外部數據源加載數據,過濾它,然后準備 json 返回。數據量不大,單次請求只有10k左右。當我在檢索和過濾它們后嘗試格式化它們時,出現了主要問題。所以,我開始使用以下步驟進行調試:

    • 檢查查詢是否已優化以及列是否已建立索引。

    • 確保使用 chunk 方法

    • 檢查格式化倉庫沒有使用任何不必要的方法/參考/實現/未使用的函數/外部api調用。

    所有檢查均已完成,但仍然顯示網關超時錯誤,因為它超過了 1 分鐘。服務類如下所示:

    Laravel 資源還是定制存儲庫?

    repo 類如下所示:

    Laravel 資源還是定制存儲庫?

    肉眼看來,10k+數據處理和操作不應該拋出超時錯誤。我們將在最后討論為什么會發生這種情況(可能不是實際的具體原因,但有可能),現在討論如何使用 laravel api 資源解決它。


    實施起來很簡單。首先,從命令行生成 laravel api 資源:

    php artisan make:resource DataFormatterResource
    
    
    關注:愛掏網

    然后,將您的模型對象發送到資源并按照下面給出的要求格式化/操作您的數據:

    Laravel 資源還是定制存儲庫?

    Laravel 資源還是定制存儲庫?

    令人驚訝的是,只用了3.7秒就回復了?!
    我試圖在這里挖掘出真正的問題,并發現了一些可能的情況,上面提到了最后的定義。給出案例:

    1. laravel api 資源提供了一個一致的接口來訪問和操作數據,我在其中使用帶有一些依賴注入的存儲庫。這使得更容易編寫高效的代碼并避免常見的性能瓶頸。
    2. laravel api 資源針對性能進行了優化,因為它們使用緩存和其他技術來提高數據檢索和處理的速度,而我只選擇數組原始格式的塊。
    3. laravel api 資源根據請求標頭自動將數據庫查詢結果序列化為 json 或 xml。這為您省去了編寫自己的序列化代碼的麻煩。

    在我的項目的大多數服務中,我在服務層使用了存儲庫或功能格式化程序,但在這種情況下,我遇到了一個困難,可能有其他原因導致此問題發生。
    我想強調的是,在使用模型時,laravel resources 在一些棘手的情況下可能會派上用場。

    如果您喜歡這篇文章,請留下鼓掌或評論。

    以上就是Laravel 資源還是定制存儲庫?的詳細內容,更多請關注愛掏網 - it200.com其它相關文章!

    聲明:所有內容來自互聯網搜索結果,不保證100%準確性,僅供參考。如若本站內容侵犯了原著者的合法權益,可聯系我們進行處理。
    發表評論
    更多 網友評論0 條評論)
    暫無評論

    返回頂部

    主站蜘蛛池模板: 麻豆AV一区二区三区| 美女毛片一区二区三区四区| 亚洲国产激情一区二区三区| 日本一区二区三区在线网| 老湿机一区午夜精品免费福利| 一区二区三区AV高清免费波多| 精品乱子伦一区二区三区高清免费播放| 国产一区二区三区夜色| 肉色超薄丝袜脚交一区二区| 无码一区二区三区爆白浆| 天天爽夜夜爽人人爽一区二区| 国产爆乳无码一区二区麻豆| 波多野结衣一区二区| 一区二区三区电影在线观看| 亚洲V无码一区二区三区四区观看 亚洲爆乳精品无码一区二区三区 亚洲爆乳无码一区二区三区 | 精品一区二区三区水蜜桃| 国产一区二区高清在线播放| 人妻激情偷乱视频一区二区三区| 天天躁日日躁狠狠躁一区| 中文字幕Av一区乱码| 精品视频一区在线观看| 无码人妻一区二区三区精品视频| 在线电影一区二区三区| 国产精品免费视频一区| 国产一区韩国女主播| 亚洲国产一区二区三区| 中文字幕一区二区三区视频在线 | 亚洲sm另类一区二区三区| 精品成人乱色一区二区| 亚洲国产AV无码一区二区三区| 午夜一区二区免费视频| 秋霞电影网一区二区三区| 一区二区不卡视频在线观看 | 国模大胆一区二区三区| 国产一区二区视频免费| 插我一区二区在线观看| 无码精品人妻一区二区三区免费看| 亚洲国产成人一区二区精品区| 精品国产一区二区三区久久久狼 | 国产女人乱人伦精品一区二区| 日韩精品一区二区三区中文字幕|