RTMP推流协议视频直播点播系统EasyDSS如何优化添加角色响应过慢问题?

TSINGSEE团队研发的EasyDSS视频直播点播系统,是支持RTMP推流协议的视频平台,可以配合我们的海康RTMP推流摄像机使用,达到很好的推流直播效果。

更新之后的EasyDSS也增加了角色管理功能,用户可以分配或者添加角色。但是在一开始添加角色的时候,由于对数据库的操作比较的频繁,导致每一次操作数据库的时候都会形成一个事务,在已经点击保存的时候,在当前页面停留了一会。

1207.png

对于这个响应比较慢的问题,我们一直在找寻方法解决,如何在添加角色中,将数据库的多个操作作为一个事务,转化为一个比较完整且快速的操作?

我们尝试了修改代码来进行解决。以下代码就是添加角色时,数据库接受信息和处理信息的过程,我们对此进行优化:

//先删除角色和菜单的关系
dao.GetDB().Delete(&do.TSysRoleMenu{}, "role_id = ?", id)
tx := dao.GetDB().Begin()
for _, v := range menuIdList {
   intV, _ := strconv.Atoi(v)
   err := tx.Create(&do.TSysRoleMenu{
      RoleId: id,
      MenuId: intV,
   }).Error
   if err != nil {
      tx.Rollback()
      AbortWithString(c, http.StatusBadRequest, "添加失败")
      return
   }
}
tx.Commit()
Success(c)

修改之后回到EasyDSS界面测试响应情况,点击保存的按钮之后立马跳转到了列表页面。

1208.png

这样就会大大减少响应的时间,对用户友好性就会增加,体验感也更加优秀。

猜你喜欢

转载自blog.csdn.net/EasyDSS/article/details/107915470