同步和异步的区别

2023-11-03

同步:

同步的思想是:所有的操作都做完,才返回给用户。这样用户在线等待的时间太长,给用户一种卡死了的感觉(就是系统迁移中,点击了迁移,界面就不动了,但是程序还在执行,卡死了的感觉)。这种情况下,用户不能关闭界面,如果关闭了,即迁移程序就中断了。


异步:

将用户请求放入消息队列,并反馈给用户,系统迁移程序已经启动,你可以关闭浏览器了。然后程序再慢慢地去写入数据库去。这就是异步。但是用户没有卡死的感觉,会告诉你,你的请求系统已经响应了。你可以关闭界面了。


同步,是所有的操作都做完,才返回给用户结果。即写完数据库之后,在响应给用户,用户体验不好。

异步,不用等所有操作等做完,就相应用户请求。即先响应用户请求,然后慢慢去写数据库,用户体验较好。


异步操作例子:

为了避免短时间大量的数据库操作,就使用缓存机制,也就是消息队列。先将数据放入消息队列,然后再慢慢写入数据库。

引入消息队列机制,虽然可以保证用户请求的快速响应,但是并没有使得我数据迁移的时间变短(即80万条数据写入mysql需要1个小时,用了redis之后,还是需要1个小时,只是保证用户的请求的快速响应。用户输入完http url请求之后,就可以把浏览器关闭了,干别的去了。如果不用redis,浏览器不能关闭)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同步和异步的区别 的相关文章

  • Redis基础--认识redis和对比同类型产品

    一 redis定义与应用 Nosql定义 NoSQL是不同于传统的关系数据库的数据库管理系统的统称 其两者最重要的区别是NoSQL不使用SQL作为查询语言 MySQL定义 MySQL是一种关系型数据库 关系型数据库的一个常见用法是存储长期的
  • 《消息队列高手课》缓存策略:如何使用缓存来减少磁盘IO?

    现代的消息队列 都使用磁盘文件来存储消息 因为磁盘是一个持久化的存储 即使服务器掉电也不会丢失数据 绝大多数用于生产系统的服务器 都会使用多块儿磁盘组成磁盘阵列 这样不仅服务器掉电不会丢失数据 即使其中的一块儿磁盘发生故障 也可以把数据从其
  • Go redis操作

    Go redis的操作 五种数据结构的基本操作汇总 一 String 操作 命令 说明 Set key value 给数据库中名称为 key 的 string 赋予值 valueget key 返回数据库中名称为 key 的 string
  • Redis分片

    目录 一 Redis为什么要分片 二 分布式存储的特性 三 分片方案 1 范围分片 优点 缺点 2 hash节点取余分区 3 一致性hash分区 一 Redis为什么要分片 一般你系统核心缓存的命中率需维持在99 甚至99 9 哪怕下降1
  • 浏览器缓存机制及其分类

    聚沙成塔 每天进步一点点 专栏简介 强缓存 Cache Control 和 Expires 协商缓存 ETag 和 Last Modified 写在最后 专栏简介 前端入门之旅 探索Web开发的奇妙世界 记得点击上方或者右侧链接订阅本专栏哦
  • redis集群模式

    redis单机版 出现单机故障后 导致redis无法使用 如果程序使用redis 间接导致程序出错 redis的集群模式 主从复制模式 哨兵模式 集群化模式 1 主从复制模式 一主多从模式 一个主节点 多个从节点 那么主节点可以负责 读操作
  • 更改:为硬件保留的内存

    电脑 联想thinkbook16P 系统 win11 内存 16G 更改前 2 3G 更改后 827MB 一 关机 不同的型号电脑进入boss模式的按键不同 我的是按F1 自己去找进入boss模式的方式 二 进入boss模式 进入boss模
  • Spring的三级缓存解决循环依赖

    一 什么是Spring三级缓存 第一级缓存 也叫单例池 存放已经经历了完整生命周期的Bean对象 第二级缓存 存放早期暴露出来的Bean对象 实例化以后 就把对象放到这个Map中 Bean可能只经过实例化 属性还未填充 第三级缓存 存放早期
  • Memcach基础使用

    memcache 基础课程 使用场景 memcache 服务器端的安装 推荐使用memcached memcached是memchache的升级版本 sudo su apt get install memcached usr bin mem
  • Go内存管理及性能观测工具

    内存管理 TCMalloc Golang内存分配算法主要源自Google的TCMalloc算法 TCMalloc将内存分成三层最外层Thread Cache 中间层Central Cache 最里层Page Heap Thread Cach
  • 关于Mysql线程的基本设置

    客户端发起连接到mysql server mysql server监听进程 监听到新的请求 然后mysql为其分配一个新的 thread 去处理此请求 从建立连接之开始 CPU要给它划分一定的thread stack 然后进行用户身份认证
  • 如何保持缓存和数据库中的数据一致

    背景 缓存是软件开发中一个非常有用的概念 数据库缓存更是在项目中必然会遇到的场景 而缓存一致性的保证 更是在面试中被反复问到 这里进行一下总结 针对不同的要求 选择恰到好处的一致性方案 缓存是什么 存储的速度是有区别的 缓存就是把低速存储的
  • 从一道题目学习Nunjucks模板

    Nunjucks简介 Nunjucks 是一个功能丰富 强大的 JavaScript 专用模板引擎 Nunjucks 提供丰富的语言特性和块继承 自动转移 宏和异步控制等等 重点要关注的是 Nunjucks 模板引擎的代码在沙箱环境中运行
  • Ceph bluestore中的缓存管理

    从15年3月接触Ceph分布式存储系统 至今已经5年了 因为工作的需要 对Ceph的主要模块进行了较深入的学习 也在Ceph代码层面做了些许改进 以满足业务需要 我们主要使用M版本 最近得闲 将过往的一些学习心得 改进以及优化思路记录下了
  • setTimeout异步

    同步任务和异步任务 同步和异步操作的区别就是是否阻碍后续代码的执行 同步任务是那些没有被引擎挂起 在主线程上排队执行的任务 只有前一个任务执行完毕 才能执行后一个任务 异步任务是那些被引擎放在一边 不进入主线程 而进入任务队列的任务 只有引
  • Redis介绍、安装、基础命令

    目录 引言 一 关系数据库和非关系数据库 1 1 关系型数据库 1 2 非关系型数据库 1 3 关系型数据库与非关系型数据库区别 数据存储方式不同 扩展方式不同 对事务性的支持不同 非关系型数据库产生背景 二 Redis简介 2 1 Red
  • redis 配置与优化

    目录 一 关系数据库和非关系型数据库 二 关系型数据库和非关系型数据库区别 三 非关系型数据库产生背景 四 redis 1 概念 2 redis的优点 3 redis为什么这么快 五 redis安装与配置 一 关系数据库和非关系型数据库 关
  • 5. 一线大厂高并发缓存架构实战与性能优化

    分布式缓存技术Redis 1 冷热数据分离 2 缓存设计 2 1 缓存击穿 失效 2 2 缓存穿透 2 3 缓存雪崩 3 大V直播带货导致线上商品系统崩溃原因分析 4 突发性热点缓存重建导致系统压力暴增问题 5 缓存数据库双写不一致问题 6
  • Java_Mybatis_缓存

    缓存 1 概述 Mybatis 缓存 MyBatis 内置了一个强大的事务性查询缓存机制 它可以非常方便地配置和定制 2 会话缓存 一级缓存 sqlSession 级别的 也就是说 使用同一个 sqlSession 查询同一 sql 时 直
  • 【Redis】Redis 红锁

    1 概述 上一篇文章 redis Redis 分布式锁 redis session Redlock 红锁 Zookeeper锁 本章节主要讲解redis中的红锁 假设我们有个客户端要获取锁 然后向master去获取锁 然后master会把锁

随机推荐

  • mysql属于dql语句的是_mysql学习日记——DQL语句

    DQL 查询语句 select字段列表from表名列表where条件列表group by分组字段having分组之后的条件order by排序 limit 分页限定 基础查询 1 多个字段的查询 select 字段名1 字段名2 from
  • Visual Studio 2015 的安装和使用

    VS2015 是现在微软公司最新也是最强大的IDE 可以开发C C VB Android iOS等多种语言和平台的应用程序 而且 对应的免费版本VS2015 社区版 也出来了 如果只是为了初学或者是想尝试一下VS的同学 可以下载VS2015
  • 网络工程师干货:华为设备故障管理命令大全

    alarm 系统视图 命令功能 alarm命令用来进入告警管理视图 命令格式 alarm 使用实例 进入告警管理视图
  • selenium处理网页下拉加载数据爬取并存入excel

    前言 之前有个同学询问我是否能够爬取知乎的全部回答 当初只会Scrapy无法实现下拉的数据全部加载 后来在意外中接触了selenium的自动化测试 看出了selenium的模拟能力的强大 而昨天有个同学问我能否爬取中国工商银行远程银行的精彩
  • 编译ROS PCL工程时出现找不到包的问题

    编译PCL工程时 如果出现类似这样的问题 Add the installation prefix of visualization to CMAKE PREFIX PATH or set 则意味着编译器找不到相关包 则我们可以通过添加 fi
  • 基于qt的人脸识别

    文章目录 前言 一 Ubuntu中运行效果 二 代码部分 1 工程结构 2 camera代码 移植到linux板子上面的思路 前言 提示 这里可以添加本文要记录的大概内容 今天准备用qt做一个人脸识别功能 同时看能不能移植到板子上面 提示
  • 电子电路技术基础之频率响应

    电子电路技术基础之放大电路的频率响应 文章目录 电子电路技术基础之放大电路的频率响应 前言 一 频率响应概述 基本概念 二 波特图 总结 前言 郑老师模电课听课笔记 23 一 频率响应概述 基本概念 高通电路 传输特性 下限截止频率 最大值
  • 如何理解Adam算法(Adaptive moment estimation)?

    作者 薰风初入弦 链接 https www zhihu com question 323747423 answer 790457991 来源 知乎 著作权归作者所有 商业转载请联系作者获得授权 非商业转载请注明出处 文章和论文看不懂 通常有
  • QT问题解决: multiple definition of XXX

    参考这个链接的https blog csdn net liyuefeilong article details 44071053方法处理后 问题还是存在 打开 pro文件 SOURCES 下发现某个Cpp文件重复了 这个是添加已存在文件时I
  • 剪贴板在当前服务器不可映射,关于rdpclip.exe进程问题 导致远程桌面剪贴板无法使用的问题...

    我们来讨论下你这句话 由于网络波动造成的不稳定 导致进行文件传输时进程中断 再次传输时则不能进行文件传输 再次传输时则不能进行文件传输 这个的意思就是网络原因导致某次文件传输失败后 整个服务就不能用了吗 我理解rdpclip exe这个服务
  • UE4 低配优化

    总结一下UE4的低配优化 1 比较快的方式 修改引擎可扩展设置 关于Scalability Setting的详细说明 https docs unrealengine com en us Engine Performance Scalabil
  • 机器学习sklearn-多项式回归

    目录 线性关系 线性模型和非线性模型 利用线性回归解决非线性问题 多项式回归 线性模型 线性关系 首先 线性 这个词用于描述不同事物时有着不同的含义 我们最常使用的线性是指 变量之间的线性关系 linear relationship 它表示
  • DirectShow对avi视频按帧设置慢放功能

    转载请标明是引用于 http blog csdn net chenyujing1234 欢迎大家提出意见 一起讨论 DirectShow对avi视频按帧设置慢放功能需要视频源支持帧操作 可以通过IMediaSeeking IsFormatS
  • 参加蓝桥杯的经历

    蓝桥杯 我参加蓝桥杯是一个巧合 我是专科生 额 过往经历就不说了 反正就是以前没好好学习然后就去专科读书了 不过也不怎么后悔 高考完成绩出来 那时候我都有点想去新东方的来着 我一个发小的姐姐学的计算机 然后工资蛮高 他家准备让他学计算机 然
  • Odd Even Linked List

    Given a singly linked list group all odd nodes together followed by the even nodes Please note here we are talking about
  • 排序算法比较图表

    一目了然
  • Python爬取招聘信息,并且存储到MySQL数据库中

    前面一篇文章主要讲述 如何通过Python爬取招聘信息 且爬取的日期为前一天的 同时将爬取的内容保存到数据库中 这篇文章主要讲述如何将python文件压缩成exe可执行文件 供后面的操作 这系列文章主要是最近研究了数据库的定时计划备份 联系
  • java多条件判断_Java中,&&与&,

    java的逻辑运算符 1 和 都是表示与 区别是 只要有一个条件不一样就是不满足 如果第一个条件就是不满足就不判断后面的条件 而 要对所有的条件都进行判断 看下面的程序 输出的是 没有报错 而将 改为 就会如下错误 Exception in
  • Flutter 通过 VS code 连接 Android 模拟器(Windows)

    环境配置 Flutterhttps flutter cn docs get started install windows Android Studiohttps developer android google cn studio VS
  • 同步和异步的区别

    同步 同步的思想是 所有的操作都做完 才返回给用户 这样用户在线等待的时间太长 给用户一种卡死了的感觉 就是系统迁移中 点击了迁移 界面就不动了 但是程序还在执行 卡死了的感觉 这种情况下 用户不能关闭界面 如果关闭了 即迁移程序就中断了