zoukankan      html  css  js  c++  java
  • RTMP推流协议视频直播点播系统EasyDSS如何优化添加角色响应过慢问题?

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

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

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

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

    //先删除角色和菜单的关系
    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界面测试响应情况,点击保存的按钮之后立马跳转到了列表页面。

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

  • 相关阅读:
    python经典算法面试题1.5:如何找出单链表中的倒数第K个元素
    python经典面试算法题1.4:如何对链表进行重新排序
    巧妙利用引用,将数组转换成树形数组
    设计模式学习笔记
    Vue-cli项目部署到Nginx
    设计模式
    设计模式
    springboot原理
    类加载机制-深入理解jvm
    JVM内存调优原则及几种JVM内存调优方法
  • 原文地址:https://www.cnblogs.com/easydss/p/13470401.html
Copyright © 2011-2022 走看看