后端通过websocket在同一时间内像前端多次发送大量请求导致系统卡死

原因:vue的element-ui组件,会一直在渲染页面。

解决方法:

1.将接收到的数据先放到缓存中用定时器去定时去渲染。

2.更换组件,不用element-ui组件

  • 9
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
前端接收后端WebSocket数据时,可以使用以下方法进行数据缓存: 1. 使用数组或对象:可以创建一个数组或对象来存储接收到的数据。每当接收到WebSocket数据时,将数据添加到数组或对象中。可以通过遍历数组或对象来读取和处理缓存的数据。 示例代码: ```javascript // 创建一个数组来缓存接收到的数据 const dataCache = []; // 接收WebSocket数据并添加到缓存中 socket.onmessage = function(event) { const data = event.data; dataCache.push(data); }; // 遍历数据缓存并处理数据 dataCache.forEach(function(data) { // 处理数据逻辑 }); ``` 2. 使用缓存库或框架:前端框架和库通常提供了用于数据管理和缓存的工具。例如,对于React框架,你可以使用状态管理库(如Redux)来管理WebSocket数据的缓存。 示例代码: ```javascript // 使用Redux来管理WebSocket数据的缓存 // 创建一个Redux store来存储数据 const store = createStore(dataReducer); // 接收WebSocket数据并将数据分发到Redux store中 socket.onmessage = function(event) { const data = event.data; store.dispatch(addData(data)); }; // 在组件中访问和处理缓存的数据 const cachedData = useSelector(state => state.data); // 处理缓存的数据逻辑 cachedData.forEach(function(data) { // 处理数据逻辑 }); ``` 需要根据具体的前端框架和需求选择适合的缓存方式。无论选择哪种方式,都要确保及时清理缓存,避免数据过多导致内存占用过高。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值