第一种方法:使用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;
拼接后的字符串:
实际案例:
输出结果为: