长连接和短链接、数据库连接池、读写数据库操作优化思路

120 阅读2分钟

开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情

本文主要讲解一些关于代码中使用数据库所需要理解的基本概念,概念在手,天下我有<-->

使用数据库链接池

1、基本概念: 由于打开数据库连接比较耗时,所以连接池机制预先打开N个数据库连接,把它们缓存起来,当需要使用数据库的时候就直接使用这些已经打开的连接,从而节省了 时间。

2、优点: 连接池的作用主要是节省打开数据库的时间。  

数据库长连接和短链接

1、概念:

长连接:系统通讯连接建立后就一直保持。

短连接:只有系统需要相互发消息连接才建立(客户端发起),请求消息得到响应后连接关闭;

2、连接步骤

通常的短连接操作步骤是:

连接-数据传输-关闭连接;

而长连接通常就是:

连接-数据传输-保持连接-数据传输-保持连接-…………-关闭连接;

这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了

3、使用场景

什么时候用长连接,短连接?

长连接主要用于在 少数客户端与服务端的 频繁通信,因为这时候如果用短连接频繁通信常会发生Socket出错,并且频繁创建Socket连接也是对资源的浪费。

但是对于服务端来说,长连接也会耗费一定的资源,需要专门的线程(unix下可以用进程管理)来负责维护连接状态。

总之,长连接和短连接的选择要视情况而定。

常见的读写数据库优化操作

因为数据库读取操作过于密集导致数据库宕机:

  • 优化数据库的读取:读写分离优化的是数据库的读取,并没有优化数据写入

因为数据库写入操作过于密集导致数据库宕机:

  • 优化数据库的写入:可以先将数据写入缓存,然后通过队列慢慢写入数据库

(注:本文参杂个人理解,如果不对的地方欢迎大家指出)