Swoole資料庫的使用

2021-07-24 07:31:07 字數 454 閱讀 1343

swoole在cli中啟動以後,php程式是常駐記憶體的。

各個框架裡面關於資料訪問層都是在pdo的基礎上做了封裝,為了減少連線次數,在首次連線資料庫時候會建立pdo物件與資料庫的連線。後續所有sql都是在這個連線基礎上執行。當指令碼執行完,自動釋放連線和pdo物件。

但是swoole指令碼是常駐記憶體的,所以pdo物件不會被釋放,因此每次執行都會使用已有的連線。

那麼問題來了,當長時間不執行的時候,pdo的連線會超過mysql server的wait_timeout時間而被close掉,因此pdo連線失效,導致程式執行異常。

知道原因解決方法就很容易了:

1、在框架pdo封裝的時候,增加重連,比如執行sql語句異常**獲的時候,可能是連線被重置,所以重新連線pdo,同時計數,第二次再執行異常的時候就不要再重連了,以免死迴圈

2、swoole每次執行框架的入口的時候作為乙個新的請求處理,都重新初始化pdo。

swoole怎麼連線資料庫

非同步連線到mysql伺服器。serverconfig為mysql伺服器的配置,必須為關聯索引陣列 callback連線完成後 此函式 swoole連線資料庫例項 推薦學習 swoole教程 就到這裡啦,有需要學習交流的友人 入 的咱們一起,群內都是1 7年的開發者,希望可以一起交流,php,swo...

資料庫的使用

moviemodel中存放資料 property nonatomic,copy nsstring moviename property nonatomic,assign double movieprice property nonatomic,assign int movieid inte ce s...

簡單使用資料庫資料庫

查詢 注釋 查詢公式 select 欄位名字1 別名,欄位名字2 as 別名.from 表名 執行順序 from select確定結果集 查詢dept表中的所有資訊 select from dept 查詢雇員表中所有員工的員工編號,員工姓名,上級編號 要查詢的資料 empno,ename,mgr 條...