第一種方法:使用insert into 插入
從Redis每次擷取100條資料,根據條件去插入到Mysql資料庫中:
條件:
如果目前隊列中的值大于1000條,則會自動的條用該方法,該方法每次擷取從隊列的頭部每次擷取100掉資料插入到Mysql資料庫中,同時以目前隊列的長度為插入條件。
1000為原始資料,從隊列頭擷取100條,插入到Mysql資料,同時删除已經插入的資料,再通過隊列的長度判斷是否繼續插入,直到循環不滿足條件為止。
[1]擷取頭100條資料:$redis->lRange($liveKey,0,99)
[2]删除頭100條資料:$redis->lTrim($liveKey, 100, -1);
[1]擷取目前隊列長度:$redis->lLen($liveKey);
第二種方法:使用優化SQL語句:将SQL語句進行拼接,使用 insert into table () values (),(),(),()然後再一次性插入,如果字元串太長,則需要配置下MYSQL,在mysql 指令行中運作 :set global max_allowed_packet = 2*1024*1024*10;
拼接後的字元串:
實際案例:
輸出結果為: