Maison  >  Article  >  interface Web  >  nodejs n'utilise pas de base de données

nodejs n'utilise pas de base de données

WBOY
WBOYoriginal
2023-05-27 20:24:07645parcourir

Node.js est un environnement d'exécution JavaScript back-end qui peut être facilement intégré à d'autres piles technologiques via les modules intégrés de Node.js et le gestionnaire de modules de la communauté. L’une des piles technologiques les plus couramment utilisées consiste à stocker et à gérer des données via des bases de données. Mais dans certains cas, nous ne souhaitons peut-être pas utiliser une base de données pour le traitement et le stockage des données, et le stockage et la gestion des données peuvent être réalisés par d'autres moyens. Cet article présentera quelques façons d'utiliser Node.js sans utiliser de base de données.

  1. Utilisez des fichiers JSON pour stocker des données

Les fichiers JSON sont l'abréviation de JavaScript Object Notation. Il s'agit d'un format d'échange de données léger, hautement lisible et facile à analyser automatiquement. Nous pouvons donc stocker des données en utilisant des fichiers JSON.

Dans Node.js, nous pouvons utiliser le module fs pour faire fonctionner le système de fichiers. Grâce au module fs, nous pouvons lire et écrire des fichiers JSON très facilement. Voici un exemple de code qui utilise des fichiers JSON pour stocker des données : fs 模块操作文件系统。通过 fs 模块,我们可以非常方便地读取和写入 JSON 文件。下面是一个使用 JSON 文件来存储数据的示例代码:

const fs = require('fs')

const dataFilePath = './data.json'

function loadData() {
  const fileContent = fs.readFileSync(dataFilePath, 'utf-8')
  const data = JSON.parse(fileContent)
  return data
}

function saveData(data) {
  const dataJSON = JSON.stringify(data)
  fs.writeFileSync(dataFilePath, dataJSON)
}

const data = loadData()
console.log(data)

data.push('new data')
saveData(data)

在上面的代码中,我们定义了两个操作数据的函数:loadData()saveData()loadData() 从 JSON 文件中读取数据,并将其转换为 JavaScript 对象。saveData(data) 将 JavaScript 对象转换为 JSON 字符串,并将其写入 JSON 文件。

此时我们可以操作 data 数组,比如向其中添加一项,最后通过 saveData(data) 将更新后的数据写入 JSON 文件。这样我们就可以使用 JSON 文件来存储和管理数据了。

值得注意的是,当数据量较小的时候,使用 JSON 文件确实是一种不错的选择,但是当数据量变大时,其性能和效率可能并不是很高,并且也没有 SQL 数据库的严格约束规则,所以在实际应用中需要谨慎考虑。

  1. 使用文件目录来存储数据

除了使用 JSON 文件来存储数据,我们还可以使用文件目录来存储数据。将每个文档保存为单独的文件,并且在文件名中包含一些数据标识信息,然后将这些文件存储在一个目录中。这种方式类似于使用 Git 来管理代码库,其中每个 Git 对象都是一个文件存储在 .git 目录下。

下面是一个使用文件目录来存储数据的示例代码:

const fs = require('fs')
const path = require('path')

const dataDirPath = './data/'

function saveData(data) {
  const { id, content } = data
  const filename = `${id}.json`
  fs.writeFileSync(path.join(dataDirPath, filename), content)
}

function loadData(id) {
  const filename = `${id}.json`
  const fileContent = fs.readFileSync(path.join(dataDirPath, filename), 'utf-8')
  return fileContent
}

const data = {
  id: '001',
  content: 'data content'
}

saveData(data)

const retrievedData = loadData(data.id)
console.log(retrievedData)

在上面的代码中,我们定义了两个操作数据的函数:saveData(data)loadData(id)saveData(data) 将数据对象转换为 JSON 字符串,并将其保存为一个文件,并将其文件名设置为数据对象中的唯一标识符(比如这里我们使用了一个名为 id 的属性)。loadData(id) 根据数据对象的唯一标识符查找相应的文件,并读取其中的数据。

通过使用文件目录来存储数据,我们避免了使用数据库的额外成本和维护成本,也方便管理和备份数据。但是对于数据管理和查询操作,我们需要自己编写文件操作的逻辑,这些操作的复杂度可能比 SQL 查询高,所以在实际应用中需要选择合适的方案。

  1. 使用缓存来存储数据

除了上述两种方式,我们还可以使用缓存来存储数据。Node.js 中有许多流行的缓存模块,比如 Node-Cache 和 Node-RAMCache。我们可以使用这些模块来存储数据,以及读取和更新数据。

下面是一个使用 Node-Cache 模块来存储数据的示例代码:

const cache = require('node-cache')

const myCache = new cache()

const data = {
  id: '001',
  content: 'data content'
}

myCache.set(data.id, data.content)

const retrievedData = myCache.get(data.id)
console.log(retrievedData)

在上面的代码中,我们通过使用 Node-Cache 模块来存储数据。myCache.set(data.id, data.content) 从缓存中存储数据,myCache.get(data.id)rrreee

Dans le code ci-dessus, nous définissons deux fonctions qui opèrent sur les données : loadData() et saveData(). <code>loadData() lit les données d'un fichier JSON et les convertit en objet JavaScript. saveData(data) Convertit un objet JavaScript en chaîne JSON et l'écrit dans un fichier JSON.

À ce stade, nous pouvons utiliser le tableau data, par exemple en y ajoutant un élément, et enfin écrire les données mises à jour dans le fichier JSON via saveData(data). De cette façon, nous pouvons utiliser des fichiers JSON pour stocker et gérer les données.

Il convient de noter que lorsque la quantité de données est petite, l'utilisation de fichiers JSON est en effet un bon choix, mais lorsque la quantité de données devient importante, ses performances et son efficacité peuvent ne pas être très élevées, et ce n'est pas aussi strict que Bases de données SQL. Règles de contrainte, elles doivent donc être soigneusement prises en compte dans les applications pratiques.

    Utilisez des répertoires de fichiers pour stocker des données🎜🎜🎜En plus d'utiliser des fichiers JSON pour stocker des données, nous pouvons également utiliser des répertoires de fichiers pour stocker des données. Enregistrez chaque document dans un fichier distinct avec des informations d'identification dans le nom du fichier, puis stockez les fichiers dans un répertoire. Cette approche est similaire à l'utilisation de Git pour gérer une base de code, où chaque objet Git est un fichier stocké dans le répertoire .git. 🎜🎜Ce qui suit est un exemple de code qui utilise un répertoire de fichiers pour stocker des données : 🎜rrreee🎜Dans le code ci-dessus, nous définissons deux fonctions qui opèrent sur les données : saveData(data) et loadData (identifiant). saveData(data) Convertissez l'objet de données en chaîne JSON, enregistrez-le en tant que fichier et définissez son nom de fichier sur l'identifiant unique dans l'objet de données (par exemple, nous utilisons ici un nom qui est le attribut de id). loadData(id) Recherchez le fichier correspondant en fonction de l'identifiant unique de l'objet de données et lisez les données qu'il contient. 🎜🎜En utilisant des répertoires de fichiers pour stocker les données, nous évitons les coûts supplémentaires et les coûts de maintenance liés à l'utilisation d'une base de données, et facilitons également la gestion et la sauvegarde des données. Mais pour la gestion des données et les opérations de requête, nous devons écrire nous-mêmes la logique des opérations sur les fichiers. La complexité de ces opérations peut être supérieure à celle des requêtes SQL, nous devons donc choisir une solution appropriée dans les applications réelles. 🎜
      🎜Utiliser le cache pour stocker des données🎜🎜🎜En plus des deux méthodes ci-dessus, nous pouvons également utiliser le cache pour stocker des données. Il existe de nombreux modules de mise en cache populaires dans Node.js, tels que Node-Cache et Node-RAMCache. Nous pouvons utiliser ces modules pour stocker des données, ainsi que lire et mettre à jour des données. 🎜🎜Voici un exemple de code qui utilise le module Node-Cache pour stocker des données : 🎜rrreee🎜Dans le code ci-dessus, nous stockons les données en utilisant le module Node-Cache. myCache.set(data.id, data.content) stocke les données du cache et myCache.get(data.id) lit les données du cache. Leur utilisation est fondamentalement la même que celle d'une carte ou d'un objet. Cependant, il convient de noter que les données mises en cache ne sont valides que pendant l'exécution de l'application. Une fois l'application arrêtée, les données mises en cache seront perdues. 🎜🎜L'avantage de l'utilisation du cache est que le cache a généralement des vitesses de lecture et d'écriture rapides, ce qui nous permet de traiter les données plus rapidement. Cependant, il convient de noter que lorsque le cache devient le goulot d'étranglement de l'application (le cache expire, la mémoire occupée par le cache est trop grande, etc.), nous devons optimiser l'utilisation du cache, sinon cela peut affecter les performances de la demande. 🎜🎜Conclusion🎜🎜Cet article a examiné quelques façons de stocker des données dans Node.js sans utiliser de base de données, notamment en utilisant des fichiers JSON, des répertoires de fichiers et des caches. Ces méthodes ne sont pas universellement applicables dans les applications et la méthode la plus appropriée doit être sélectionnée en fonction des scénarios et des exigences d'application. Dans le même temps, pour la gestion des données et les opérations de requête, nous devons également écrire notre propre code pour l'implémenter. Si vous avez de meilleures idées ou suggestions, partagez-les dans les commentaires. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn