Rumah  >  Artikel  >  hujung hadapan web  >  nodejs tidak menggunakan pangkalan data

nodejs tidak menggunakan pangkalan data

WBOY
WBOYasal
2023-05-27 20:24:07645semak imbas

Node.js ialah persekitaran masa jalan JavaScript bahagian belakang yang boleh disepadukan dengan mudah dengan tindanan teknologi lain melalui modul terbina dalam Node.js dan pengurus modul komuniti. Salah satu tindanan teknologi yang paling biasa digunakan adalah untuk menyimpan dan mengurus data melalui pangkalan data. Tetapi dalam beberapa kes, kami mungkin tidak mahu menggunakan pangkalan data untuk pemprosesan dan penyimpanan data, dan penyimpanan dan pengurusan data boleh dicapai dengan cara lain. Artikel ini akan memperkenalkan beberapa cara untuk menggunakan Node.js tanpa menggunakan pangkalan data.

  1. Gunakan fail JSON untuk menyimpan data

Fail JSON adalah singkatan untuk Notasi Objek JavaScript. Ia ialah format pertukaran data ringan yang sangat mudah dibaca dan mudah dihuraikan secara automatik. Jadi kita boleh menyimpan data dengan menggunakan fail JSON.

Dalam Node.js, kita boleh menggunakan modul fs untuk mengendalikan sistem fail. Melalui modul fs, kami boleh membaca dan menulis fail JSON dengan sangat mudah. Berikut ialah contoh kod yang menggunakan fail JSON untuk menyimpan data:

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)

Dalam kod di atas, kami telah menentukan dua fungsi yang beroperasi pada data: loadData() dan saveData(). loadData() Baca data daripada fail JSON dan tukarkannya menjadi objek JavaScript. saveData(data) Menukar objek JavaScript kepada rentetan JSON dan menulisnya kepada fail JSON.

Pada ketika ini kita boleh mengendalikan tatasusunan data, seperti menambahkan item padanya, dan akhirnya menulis data yang dikemas kini pada fail JSON melalui saveData(data). Dengan cara ini kita boleh menggunakan fail JSON untuk menyimpan dan mengurus data.

Perlu diperhatikan bahawa apabila jumlah data adalah kecil, menggunakan fail JSON sememangnya merupakan pilihan yang baik, tetapi apabila jumlah data menjadi besar, prestasi dan kecekapannya mungkin tidak begitu tinggi, dan terdapat tiada pangkalan data SQL mempunyai peraturan mengikat yang ketat, jadi ia perlu dipertimbangkan dengan teliti dalam aplikasi praktikal.

  1. Gunakan direktori fail untuk menyimpan data

Selain menggunakan fail JSON untuk menyimpan data, kami juga boleh menggunakan direktori fail untuk menyimpan data. Simpan setiap dokumen sebagai fail berasingan dengan beberapa maklumat pengenalpastian data dalam nama fail, dan kemudian simpan fail dalam direktori. Pendekatan ini serupa dengan menggunakan Git untuk mengurus pangkalan kod, di mana setiap objek Git ialah fail yang disimpan dalam direktori .git.

Berikut ialah contoh kod yang menggunakan direktori fail untuk menyimpan data:

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)

Dalam kod di atas, kami mentakrifkan dua fungsi yang beroperasi pada data: saveData(data) dan loadData(id). saveData(data) Menukar objek data kepada rentetan JSON dan menyimpannya sebagai fail, menetapkan nama failnya kepada pengecam unik dalam objek data (contohnya di sini kami menggunakan atribut yang dipanggil id). loadData(id) Cari fail yang sepadan berdasarkan pengecam unik objek data dan baca data di dalamnya.

Dengan menggunakan direktori fail untuk menyimpan data, kami mengelakkan kos tambahan dan kos penyelenggaraan menggunakan pangkalan data, dan juga memudahkan pengurusan dan sandaran data. Tetapi untuk pengurusan data dan operasi pertanyaan, kita perlu menulis sendiri logik operasi fail Kerumitan operasi ini mungkin lebih tinggi daripada pertanyaan SQL, jadi kita perlu memilih penyelesaian yang sesuai dalam aplikasi sebenar.

  1. Gunakan cache untuk menyimpan data

Selain daripada dua kaedah di atas, kita juga boleh menggunakan cache untuk menyimpan data. Terdapat banyak modul caching popular dalam Node.js, seperti Node-Cache dan Node-RAMCache. Kita boleh menggunakan modul ini untuk menyimpan data, serta membaca dan mengemas kini data.

Berikut ialah contoh kod yang menggunakan modul Node-Cache untuk menyimpan data:

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)

Dalam kod di atas, kami menyimpan data menggunakan modul Node-Cache. myCache.set(data.id, data.content) menyimpan data daripada cache, myCache.get(data.id) membaca data daripada cache. Penggunaannya pada asasnya sama seperti Peta atau Objek. Walau bagaimanapun, perlu diingatkan bahawa data cache hanya sah semasa aplikasi berjalan Sebaik sahaja aplikasi berhenti berjalan, data cache akan hilang.

Faedah menggunakan cache ialah cache biasanya mempunyai kelajuan baca dan tulis yang pantas, membolehkan kami memproses data dengan lebih pantas. Walau bagaimanapun, perlu diingatkan bahawa apabila cache menjadi hambatan aplikasi (cache tamat tempoh, memori yang diduduki oleh cache terlalu besar, dsb.), kita perlu mengoptimumkan penggunaan cache, jika tidak, ia boleh menjejaskan prestasi permohonan itu.

Kesimpulan

Artikel ini melihat beberapa cara untuk menyimpan data dalam Node.js tanpa menggunakan pangkalan data, termasuk menggunakan fail JSON, direktori fail dan cache. Kaedah ini tidak boleh digunakan secara universal dalam aplikasi, dan kaedah yang paling sesuai perlu dipilih berdasarkan senario dan keperluan aplikasi. Pada masa yang sama, untuk pengurusan data dan operasi pertanyaan, kami juga perlu menulis kod kami sendiri untuk melaksanakannya. Jika anda mempunyai idea atau cadangan yang lebih baik, sila kongsikannya dalam ulasan.

Atas ialah kandungan terperinci nodejs tidak menggunakan pangkalan data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn