❤Nodejs 第六章(操作本地数据库前置知识优化)

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 【4月更文挑战第6天】本文介绍了Node.js操作本地数据库的前置配置和优化,包括处理接口跨域的CORS中间件,以及解析请求数据的body-parser、cookie-parser和multer。还讲解了与MySQL数据库交互的两种方式:`createPool`(适用于高并发,通过连接池管理连接)和`createConnection`(适用于低负载)。

❤Nodejs 第六章(操作本地数据库前置知识优化)

本文主要是讲一些前置知识、配置和优化处理

配置和优化处理

1、cors (处理接口跨域)

下载cors,用于处理接口跨域问题

yarn add cors //安装cors
import cors from 'cors' //引入
app.use(cors());//使用

2、cors (处理编码数据)

  • body-parser - node.js 中间件,用于处理 JSON, Raw, Text 和 URL 编码的数据。
  • cookie-parser - 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
  • multer - node.js 中间件,用于处理 enctype="multipart/form-data"(设置表单的MIME编码)的表单数据。
$ yarn add  body-parser --save
$ yarn add  cookie-parser --save
$ yarn add  multer --save

app.js之中我们对数据进行优化处理

引入:

import express from 'express'
import cors from 'cors'
import bodyParser from 'body-parser'

使用


const app = express();
app.use(express.json()); // 中间件,用于解析 POST 请求体中的 JSON 数据
app.use(cors());
app.use(bodyParser.json());  //配置解析,用于解析json和urlencoded格式的数据
app.use(bodyParser.urlencoded({
   extended: false}));

3、mysql数据连接池

Node.js使用mysql模块与数据库交互的两种主要的连接方式:createPoolcreateConnection

在Node.js中,mysql模块通常用于与MySQL数据库进行交互。mysql模块提供了两种主要的连接方式:createPoolcreateConnection。它们之间的主要区别在于连接的管理方式和性能方面。

(1) createPool:

  • createPool 方法创建了一个连接池,连接池会在需要时创建多个连接,并在不需要时将连接放回池中,以便重复使用。这种方式适用于大量并发请求的情况,因为它可以有效地管理连接,避免了频繁地创建和销毁连接的开销。
  • 连接池的大小通常可以配置,以控制同时打开的连接数量,以防止数据库过载。这样可以确保在高负载时系统仍然能够保持稳定。
    • 使用连接池时,通过从池中获取连接来执行查询操作,执行完毕后将连接释放回池中,这样可以最大程度地重用连接,提高性能和效率。

示例代码:

javascriptCopy Code
const mysql = require('mysql');

const pool = mysql.createPool({
   
  connectionLimit: 10, // 最大连接数
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'my_database'
});

pool.getConnection((err, connection) => {
   
  if (err) throw err;

  connection.query('SELECT * FROM my_table', (error, results, fields) => {
   
    connection.release(); // 释放连接
    if (error) throw error;
    console.log(results);
  });
});

(2) createConnection:

-   `createConnection` 方法每次调用都会创建一个新的数据库连接。这种方式适用于低负载的场景或者在单个请求中只需要少量查询的情况。
-   每次调用`createConnection`都会创建一个新的连接,执行完毕后需要手动关闭连接,否则会造成资源浪费和内存泄漏。

示例代码:

javascriptCopy Code
const mysql = require('mysql');

const connection = mysql.createConnection({
   
  host: 'localhost',
  user: 'root',
  password: 'password',
  database: 'my_database'
});

connection.connect((err) => {
   
  if (err) throw err;
  console.log('Connected to MySQL database');

  connection.query('SELECT * FROM my_table', (error, results, fields) => {
   
    if (error) throw error;
    console.log(results);

    connection.end(); // 关闭连接
  });
});

总的来说,createPool适用于高并发的情况,可以有效地管理连接,提高性能和可靠性,而createConnection适用于低负载的场景或者简单的应用中。

目录
相关文章
|
4天前
|
Oracle 关系型数据库 MySQL
实时计算 Flink版操作报错合集之采集oracle的时候报ORA-65040:不允许从可插入数据库内部执行该操作如何解决
在使用实时计算Flink版过程中,可能会遇到各种错误,了解这些错误的原因及解决方法对于高效排错至关重要。针对具体问题,查看Flink的日志是关键,它们通常会提供更详细的错误信息和堆栈跟踪,有助于定位问题。此外,Flink社区文档和官方论坛也是寻求帮助的好去处。以下是一些常见的操作报错及其可能的原因与解决策略。
24 3
|
7天前
|
存储 数据处理 数据库
深入了解达梦数据库的增删查改操作:从入门到精通
深入了解达梦数据库的增删查改操作:从入门到精通
|
7天前
|
DataWorks 关系型数据库 调度
DataWorks操作报错合集之DataWorks 数据库同步任务中,如果遇到表情符报错的现象,怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
30 0
|
7天前
|
DataWorks Oracle 关系型数据库
DataWorks操作报错合集之尝试从Oracle数据库同步数据到TDSQL的PG版本,并遇到了与RAW字段相关的语法错误,该怎么处理
DataWorks是阿里云提供的一站式大数据开发与治理平台,支持数据集成、数据开发、数据服务、数据质量管理、数据安全管理等全流程数据处理。在使用DataWorks过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
36 0
|
2天前
|
存储 关系型数据库 MySQL
MySQL中数据库的相关操作
MySQL中数据库的相关操作
221 62
|
5天前
|
缓存 关系型数据库 MySQL
如何优化MySQL数据库查询性能
MySQL是一款常用的关系型数据库,但在实际使用过程中,由于数据量增加和查询操作复杂度增加,会导致查询性能下降。本文将介绍一些优化MySQL数据库查询性能的方法。
|
6天前
|
SQL 关系型数据库 MySQL
实时计算 Flink版产品使用合集之当 SQL Server 源数据库中的数据更新后,CDC 吐出的操作(op)是怎样的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
15 0
|
7天前
|
SQL 缓存 大数据
优化数据库性能的五大策略
传统的数据库性能优化常常集中在SQL查询优化和索引设计上,然而,在当今大数据时代,优化数据库性能需要综合考虑更多因素。本文将介绍五大策略,从硬件资源利用、数据模型设计、查询优化、缓存策略到数据库配置调整,为您提供全面的数据库性能优化方案。
|
7天前
|
数据库
编程日记02:个人站优化数据库和日志
编程日记02:个人站优化数据库和日志
14 0
|
7天前
|
Oracle 关系型数据库 Java
java操作多数据源将oracle数据同步达梦数据库
java操作多数据源将oracle数据同步达梦数据库