项目需求
某数据可视化大屏,直接调用第三方API数据,但是提供的都是时间点的数据,无法开发折线图,需要临时储存部分时间段的数据。
- 数据每15秒更新一次,100组用户,一天的数据量峰值为60/15*60*24*100=576000;
- 临时数据仅作为折线的展示使用,无历史报表的作用,属于用完即删的状态;
- 自增id防止到峰值的解决方案:(1)如果id大于某个值,删除原有数据表,新增分表;(2)如果id大于某个值,直接删除该id,重新从1进行索引;
封装类
/*删除主键*/ public function delPriKey() { global $db, $res; dbc(); //最好将内容先删除; //删除主键; $sql = "ALTER TABLE " . $db->table('tb') . " DROP id"; $row = $db->queryall($sql); //创建新的主键且自增; $sql2 = "ALTER TABLE " . $db->table('tb') . " ADD id INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY"; $row2 = $db->queryall($sql2); //生成json; $res["data"] = "主键恢复成功."; die(json_encode_lockdata($res)); }
lockdatav Done !