Day2

今日学习:

1.    asyncio异步socket通信

2.    aiomysql异步连接mysql

 

学习疑问:

1.为什么要使用异步的方式操作数据库?

  异步在处理多任务更快!

  比如说查询数据库,如果使用同步的方式,那么一次只能进行一次查询;而如果是异步,则可以“同时”的进行多个操作;

  但,如果要求只是一次只进行一次操作,那么同步异步无所谓。

2.为什么要使用异步socket?

  如果只使用一个socket:

  1.同步:可靠性高(因为同步处理的方式是一对一模式),但效率低;如果使用多线程提高效率,那么还是会有线程的创建和销毁消耗。

  2.异步:异步效率高,但异步对sokcet的操控相对复杂

3.阻塞与非阻塞的特性

  阻塞好控制,不发送完数据程序不会走下去。但是对性能有影响。
  非阻塞不太好控制,可能和能力有关,但是性能会得到很大提升。

 

 

今日自学目标:

1.掌握go语言基础语法

  asynico是一个基本库,而网络编程的框架有tornado 和 twisted,性能都差不多;

  不过go语言的网络编程语法更简洁,维护起来更快捷。

  go语言学习总结

2.学会使用aiomysql对mysql操作

     2.1学会处理异步和连接池相关操作

  2.2实现CRUD功能,

  aiomysql实现连接和SQL语句功能

 

学习总结

  1.go的语法与C语言类似,两个小时就能过一遍

  2.网上有很多教程关于单例模式连接数据库,但是这样会很严重,单一连线造成严重的性能问题

,   3.asynico的语法比较难懂,但是它的效率非常之高

posted @ 2019-10-28 09:42  杨归元  阅读(124)  评论(0编辑  收藏  举报