开启掘金成长之旅!这是我参与「掘金日新计划 · 12 月更文挑战」的第1天,点击查看活动详情
本文主要讲解一些关于代码中使用数据库所需要理解的基本概念,概念在手,天下我有<-->
使用数据库链接池
1、基本概念: 由于打开数据库连接比较耗时,所以连接池机制预先打开N个数据库连接,把它们缓存起来,当需要使用数据库的时候就直接使用这些已经打开的连接,从而节省了 时间。
2、优点: 连接池的作用主要是节省打开数据库的时间。
数据库长连接和短链接
1、概念:
长连接:系统通讯连接建立后就一直保持。
短连接:只有系统需要相互发消息连接才建立(客户端发起),请求消息得到响应后连接关闭;
2、连接步骤
通常的短连接操作步骤是:
连接-数据传输-关闭连接;
而长连接通常就是:
连接-数据传输-保持连接-数据传输-保持连接-…………-关闭连接;
这就要求长连接在没有数据通信时,定时发送数据包,以维持连接状态,短连接在没有数据传输时直接关闭就行了
3、使用场景
什么时候用长连接,短连接?
长连接主要用于在 少数客户端与服务端的 频繁通信,因为这时候如果用短连接频繁通信常会发生Socket出错,并且频繁创建Socket连接也是对资源的浪费。
但是对于服务端来说,长连接也会耗费一定的资源,需要专门的线程(unix下可以用进程管理)来负责维护连接状态。
总之,长连接和短连接的选择要视情况而定。
常见的读写数据库优化操作
因为数据库读取操作过于密集导致数据库宕机:
- 优化数据库的读取:读写分离优化的是数据库的读取,并没有优化数据写入
因为数据库写入操作过于密集导致数据库宕机:
- 优化数据库的写入:可以先将数据写入缓存,然后通过队列慢慢写入数据库
(注:本文参杂个人理解,如果不对的地方欢迎大家指出)