原创 TCP的三次握手和四次揮手

TCP三次握手四次揮手 序列號seq:佔4個字節,用來標記數據段的順序,TCP把連接中發送的所有數據字節都編上一個序號,第一個字節的編號由本地隨機產生;給字節編上序號後,就給每一個報文段指派一個序號,序列號seq就是這個報文段中的第一個

原创 MySQL橫豎錶轉換

現有一張豎表table2 要將上表轉成如下橫表table2 此時要用到mysql的case when select username, sum(case course when '語文' then grade else 0) as

原创 redis常見問題

什麼是redis? redis是一個基於內存的高性能key-value數據庫,全稱Remote Dictionary Server。 redis和memcached的區別? 1)持久化 memcached把數據全部存在內存中,斷電後會掛掉

原创 nginx灰度發佈

灰度發佈策略:基於用戶標識,基於IP等 灰度發佈實現方式: nginx+lua根據來訪者IP地址區分 nginx根據cookie分流 nginx根據權重分配 nginx基於用戶標識灰度發佈 upstream G1 { server

原创 nginx基本配置與參數說明

#運行用戶 user nobody; #啓動進程,通常設置成和cpu的數量相等 worker_processes 1; #全局錯誤日誌及PID文件 #error_log logs/error.log; #error_log logs/

原创 laravel的event和queue

使用場景 event:解耦代碼 queue:異步執行 event 在app/Providers/EventServiceProvider.php裏面註冊事件監聽器,其中listen屬性包含了事件(鍵)和對應監聽器(值)數組,如果應用需要,

原创 laravel-excel設置單元格格式及ignoreEmpty的用法

laravel導入導出excel的插件:mattwebsite/excel 安裝: composer require mattwebsite/excel 文檔:https://laravel-excel.maatwebsite.nl/3

原创 firstOrCreate、firstOrNew、updateOrCreate

firstOrCreate firstOrCreate 方法將會使用指定的字段 => 值對,來嘗試尋找數據庫中的記錄。如果在數據庫中找不到,5.3 以下版本會使用屬性來添加一條記錄,5.3 及以上版本則將使用第一個參數中的屬性以及可選的第

原创 Laravel SQL用指定的字段作爲查詢結果的key

$roles = Role::all()->keyBy('name')->toArray(); //如果不是使用Eloquent $roles = collect(DB::table('role')->get())->keyBy('nam

原创 程序員調BUG寫照

原创 PHP socket構造類似QQ通信

socket通信過程原理圖 PHP socket構造類似QQ通信 服務端 set_time_limit(0); $ip = '127.0.0.1'; $port = 8091; /** +---------------------

原创 PDO從數據庫中獲取字段,字段被截取爲1M(長度爲1048576)問題的處理

數據庫中有一個字段是longtext存儲的字段超過1M時,通過PDO獲取該字段時,該字段會被截斷爲1M(即長度爲1048576)該問題是由於PDO的配置問題導致PDO::MYSQL_ATTR_MAX_BUFFER_SIZE PDO的預設緩

原创 WEB請求過程

當用戶在瀏覽器中輸入URL:www.google.com時,會發生什麼?

原创 mysql技巧

1,使用強制索引 某些字段沒有加索引,但需要通過字段查詢,可以使用強制索引 如下,dateline字段未建立索引,對dateline字段使用強制索引 select id from A force(dateline) where datel

原创 static的用法

class School { static public $name = '中學'; public $address = '北京'; public $studentNum; public functio