• io模型,mysql


    多路复用IO(IO multiplexing)

             多路复用就是调用select来统一管理多个连接

             强调:

             1. 如果处理的连接数不是很高的话,使用select/epoll的web server不一定比使用multi-threading + blocking IO的web server性能更好,可能延迟还更大。select/epoll的优势并不是对于单个连接能处理得更快,而是在于能处理更多的连接。

             2. 在多路复用模型中,对于每一个socket,一般都设置成为non-blocking,但是,如上图所示,整个用户的process其实是一直被block的。只不过process是被select这个函数block,而不是被socket IO给block。

             结论:select的优势在于可以处理多个连接,不适用于单个连接

    异步IO(Asynchronous I/O)

             用户进程发起read操作之后,立刻就可以开始去做其它的事。而另一方面,从kernel的角度,当它受到一个asynchronous read之后,首先它会立刻返回,所以不会对用户进程产生任何block。然后,kernel会等待数据准备完成,然后将数据拷贝到用户内存,当这一切都完成之后,kernel会给用户进程发送一个signal,告诉它read操作完成了。

    数据库

    1.数据库是什么?

             数据库本质就是一个C/S的套接字软件

             常见的数据库:

                      关系型:mysql(与mariadb相似)、oracle、db2、sqlserver

                      非关系型:存取数据都是以key:value形式

                                       常见有mongodb、redis、memcache

    2.数据库相关概念:

             数据库服务器:运行有数据库管理软件的计算机

             数据库管理软件(如mysql):一个套接字服务器

             库:就是一个文件夹

             表:就是一个文件

             记录:文件中一行内容(抽取事物一系列典型的特征拼到一起)

             数据:用于记录现实世界中的某种状态

  • 相关阅读:
    获取桌面路径
    Winform判断一个窗口是否以模态化方式打开
    Winform弹出子窗体
    Winform 窗体传值 利用委托 子窗体传值给父窗体
    GridView中小的应用
    GridView显示水平滚动条
    GridView中常用属性的设置
    将DevExpress GridView中的数据原样导出到Excel中
    DevExpress 16.2如何汉化
    C#使用NPOI导出Excel
  • 原文地址:https://www.cnblogs.com/luck-L/p/9332511.html
Copyright © 2020-2023  润新知