当前位置: 首页 > news >正文

网站建设实践建立网站怎么做

网站建设实践,建立网站怎么做,南京软件定制开发,深圳手机网站建设联系电话1. MySQL 事务有哪些隔离级别、分别有什么特点#xff0c;以及 MySQL 的默认隔离级别是什么#xff1f; 在MySQL中事务的隔离级别是为了解决常见的并发问题#xff0c;在保证数据库性能的同时保持事务的隔离性#xff0c;常见的并发问题有#xff1a; 脏读#xff1a;如果… 1. MySQL 事务有哪些隔离级别、分别有什么特点以及 MySQL 的默认隔离级别是什么 在MySQL中事务的隔离级别是为了解决常见的并发问题在保证数据库性能的同时保持事务的隔离性常见的并发问题有 脏读如果一个事务读到了另一个未提交事务修改过的数据那就意味着发生了脏读(Dirty Read)。 不可重复读如果一个事务只能读到另一个已经提交的事务修改过的数据并且其他事务每对该数据进行一次修改并提交后该事务都能查询得到最新值那就意味着发生了不可重复读(Non-Repeatable Read); 幻读如果一个事务先根据某些条件查询出一些记录之后另一个事务又向表中插入了符合这些条件的记录原先的事务再次按照该条件查询时能把另一个事务插入的记录也读出来那就意味着发生了幻读(Phantom reading)。 三个并发问题的区别如下 脏读的重点在于未提交。脏读应该是三个里面最好理解的其定义很轻易便能理解一个事务中读取了另外一个事务未提交的数据是先修改再读 不可重复读的重点在于对单条数据读取了两遍。T1先读取了一遍而后T2修改该数据并提交最后T1再次读取了该数据发现与之前的不同 幻读的重点在于针对一类条件对一系列数据读取了两遍。比较特殊的点在于幻读是具备条件的查询这种查询可能查出来的并不只有一条数据而在两次查询过程中另外一个事务对查询的结果集中的某条数据进行了变动。 针对于上述的并发问题在SQL标准中设立了以下4个隔离级别 READ UNCOMMITTED未提交读。所有事务都可以看到其他未提交事务的执行结果 READ COMMITTED已提交读。一个事务只能看见已经提交事务所做的改变 REPEATABLE READ可重复读。确保了同一事务的多个实例在并发读取数据时会看到同样的数据行 SERIALIZABLE可串行化。强制事务串行并发效率很低。 下面表格展示了在SQL标准中规定的并发事务执行过程中可能发生的现象其中✔️代表可能发生现象❌代表不可能发生现象 不同的数据库厂商对SQL标准中规定的4中隔离级别的支持是不一样的。其中MySQL的默认隔离级别为REPEATABLE READ即可重复读在该隔离级别下可以很大程度上禁止了幻读现象的发生。 2. 讲一下 Redis 的单线程模型IO 多路复用是什么(Redis为什么快) 在Redis 6.0以前Redis的核心网络模型选择用单线程来实现。 对于一个 DB 来说CPU 通常不会是瓶颈因为大多数请求不会是 CPU 密集型的而是 I/O 密集型。具体到 Redis的话如果不考虑 RDB/AOF 等持久化方案Redis是完全的纯内存操作执行速度是非常快的因此这部分操作通常不会是性能瓶颈Redis真正的性能瓶颈在于网络 I/O也就是客户端和服务端之间的网络传输延迟因此 Redis选择了单线程的 I/O 多路复用来实现它的核心网络模型。 实际上更加具体的选择单线程的原因如下 避免过多的上下文切换开销如果是单线程则可以规避进程内频繁的线程切换开销因为程序始终运行在进程中单个线程内没有多线程切换的场景。 避免同步机制的开销如果 Redis选择多线程模型又因为 Redis是一个数据库那么势必涉及到底层数据同步的问题则必然会引入某些同步机制比如锁而我们知道 Redis不仅仅提供了简单的 key-value 数据结构还有 list、set 和 hash 等等其他丰富的数据结构而不同的数据结构对同步访问的加锁粒度又不尽相同可能会导致在操作数据过程中带来很多加锁解锁的开销增加程序复杂度的同时还会降低性能。 简单可维护如果 Redis使用多线程模式那么所有的底层数据结构都必须实现成线程安全的这无疑又使得 Redis的实现变得更加复杂。 总而言之Redis选择单线程可以说是多方博弈之后的一种权衡在保证足够的性能表现之下使用单线程保持代码的简单和可维护性。 IO多路复用 IO多路复用是指内核一旦发现进程指定的一个或者多个IO条件准备读取它就通知该进程。IO多路复用适用如下场合 当客户处理多个描述字时一般是交互式输入和网络套接口必须使用I/O复用。 当一个客户同时处理多个套接口时而这种情况是可能的但很少出现。 如果一个TCP服务器既要处理监听套接口又要处理已连接套接口一般也要用到I/O复用。 如果一个服务器即要处理TCP又要处理UDP一般要使用I/O复用。 如果一个服务器要处理多个服务或多个协议一般要使用I/O复用。 与多进程和多线程技术相比I/O多路复用技术的最大优势是系统开销小系统不必创建进程/线程也不必维护这些进程/线程从而大大减小了系统的开销。 3. 什么是 BIO、NIO、AIO BIO、NIO、AIO都是Java中网络编程的I/O模型。 BIOBlocking IO 是JDK1.4之前的传统IO模型特点就是同步阻塞等待数据直到数据读取完毕才会返回结果线程会一直阻塞在read/write 方法上不能处理其他的IO请求它的并发性能比较差。 NIONon-Blocking IO是Java 1.4之后新增的IO模型它支持同步非阻塞式的IO操作。NIO采用了多路复用器来处理IO请求通过一个线程处理多个IO请求实现了高并发处理。NIO主要有三个核心概念Selector、Channel、Buffer。Selector负责监听多个Channel上的事件Channel可以理解为对原始IO的封装Buffer则是对数据的封装。 AIOAsynchronous IO是Java 1.7之后新增的IO模型它支持异步非阻塞IO操作。与NIO不同的是AIO在进行读写操作时不需要像NIO一样一直轮询而是通过回调函数的方式在数据准备好后通知应用程序进行数据的读取这样可以更加高效地利用系统资源提高吞吐量。但是AIO在处理小文件和小数据量时的性能并不如NIO。 三者区别 BIO 同步阻塞IO即打算约女神给女神发短信后没见到女神就一直等在宿舍楼下。 NIO 同步非阻塞IO即打算约女神给女神发短信后没见到女神就一直发短信。 NIO java中的NIO就是打算约女神你让宿管大妈去挨个看每一个下楼的妹子女神下楼了大妈就通知你。 AIO 就是打算约女神你发完短信你就去玩游戏了女神下楼了发短信给你你才出现。
http://www.laogonggong.com/news/137816.html

相关文章:

  • 租房网站开发报告网站高端设计公司
  • 河北网站制作多少钱wordpress文档怎么制作
  • 南宁网站建设怎样建立一个好网站黄页88网官网首页
  • 如何建立一个网站卖东西河南省工程建设信息网官网入口
  • 软件开发和网站建设那个好wordpress guid
  • 珠宝网站建设要以商为本广告投放公司
  • 商城建站网站建设服务中心
  • 肇庆市电商网站建设价格网站建设自主建设
  • 乐客vr加盟费用要多少网站建设优化服务新闻
  • 专门做进口零食的网站如何做网站条幅闪图
  • 眉山手机网站建设广州模板建站平台
  • 做彩票网站犯法吗卖印花图案设计网站
  • 大良制作网站wordpress配置伪静态页面
  • 现在的那家做网站比较好一些呢佛山哪家公司建设网站
  • 免费的网站推广在线推广我市精神文明建设的门户网站
  • 电力建设期刊网站经常维护吗做房地产用什么网站好
  • 网站建设招标需求润州网站建设
  • 做暧暖网站网站seo描述
  • 做兼职那个网站比较好赣州章贡区哪里要招工
  • 上海建设银行网站上班时间表北京建设部网站官网
  • 手机网站分辨率做多大可以做四级听力的网站
  • 体育类网站开发焦作建设银行门户网站
  • 手机做网站服务器吗苏州企业网站优化
  • 推广品牌平台网站的优化总结怎么写
  • 对网站建设的意见网站开发前准备
  • php网站开发百度云wordpress自定义搜索文件
  • 网站侵权怎么做公证或证据保存大气简洁的WordPress主题
  • 哪些网站是用vue做的seo有些什么关键词
  • gta5此网站正在建设京东云服务器
  • 用dw制作做网站需要钱吗东莞商城网站推广建设