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界面测试响应情况,点击保存的按钮之后立马跳转到了列表页面。

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

  • 相关阅读:
    java中的String.format使用
    白话解析平安笔试题:多线程交替打印
    centos7 yum install redis
    CentOS7 linux下yum安装redis以及使用
    开源规则流引擎实践
    java中System.err.print和System.out.print区别
    drools -规则语法
    小明历险记:规则引擎drools教程一
    规则引擎drools封装
    C#中Encoding.Unicode与Encoding.UTF8的区别
  • 原文地址:https://www.cnblogs.com/easydss/p/13470401.html
Copyright © 2011-2022 走看看