常用数据库条目-PHP,MySQLi

时间:2018-11-21 14:38:37

标签: php mysql database performance

我正在运行几个实时视频流和ffmpeg分段的视频流。每个云服务器运行一个通道。我有一台中央的,功能更强大的服务器,用于执行各种任务,其中之一是摄取主要的m3u8播放列表,并将段名称和创建时间存储在数据库中。

目前大约每8秒钟为8个频道创建一次细分。 这意味着我每8秒钟调用一次playlist.m3u8(位于远程服务器上),并将每个段的信息存储在数据库中。

这使我可以快速创建视频(在时间和时间之间从频道1中选择)。

但是,一两次数据库似乎已停止工作,我需要对其进行修复,然后才能获取新信息。

我想知道,我打得太重了吗?有更好的方法吗?

我的语句打开一个新连接,检查该条目是否已经存在,如果不存在则将其输入,然后关闭该连接。

我每8秒对每个频道执行一次。

这感觉可能会更好,但是我不太清楚。我应该/可以保持连接打开吗?也许这根本不是问题。

有人有什么建议吗?

如果您需要更多信息,请询问。

查询:

$conn = new mysqli($servername, $username, $password, $dbname);
$eight =  date('Y-m-d', strtotime("-8 day"));
$vq = "SELECT *  FROM `".$channels['channels'][$id]['fo_id']."`
                   WHERE `segment_name` = '".$oline."'";

$query = mysqli_query($conn, $vq);

if(mysqli_num_rows($query) == 0){
$sql = "INSERT INTO `".$channels['channels'][$id]['fo_id']."`
        (`segment_name`, `server`, `created`, `lenght`)
        VALUES
        ('".$oline."', '".$channels['channels'][$id]['server']."',
         '".date("Y-m-d H:i:s", $date)."', '".$otime."')";
$conn->query($sql);
}

$query = mysqli_query($conn, "DELETE FROM `".$channels['channels'][$id]['fo_id']."`
                           WHERE `created` < '".$eight." 00:00:00'");

$conn->close();

0 个答案:

没有答案