Rumah > pangkalan data > Redis > Aplikasi Redis dalam pembangunan JavaScript: Bagaimana untuk melaksanakan caching data

Aplikasi Redis dalam pembangunan JavaScript: Bagaimana untuk melaksanakan caching data

王林
Lepaskan: 2023-07-29 09:33:20
asal
1130 orang telah melayarinya

Aplikasi Redis dalam pembangunan JavaScript: Cara melaksanakan caching data

Pengenalan:
Dalam pembangunan JavaScript, caching data ialah konsep yang sangat penting. Ia meningkatkan prestasi aplikasi dan responsif serta mengurangkan bilangan permintaan kepada pelayan. Redis (Pelayan Kamus Jauh) ialah pangkalan data dalam memori sumber terbuka yang boleh digunakan untuk caching data dalam aplikasi berprestasi tinggi. Artikel ini akan memperkenalkan aplikasi Redis dalam pembangunan JavaScript dan menunjukkan cara melaksanakan caching data melalui contoh kod.

Teks kandungan:

Redis ialah sistem storan data berasaskan memori yang boleh memuatkan data ke dalam memori untuk meningkatkan kelajuan akses. Ia menyediakan struktur data yang kaya dan arahan untuk melaksanakan caching data dalam pembangunan JavaScript.

Pertama, kami perlu memperkenalkan perpustakaan klien Redis ke dalam projek JavaScript. Pustaka klien Redis yang biasa digunakan ialah ioredis, yang menyediakan API yang kaya untuk berinteraksi dengan Redis. Pustaka ioredis boleh dipasang melalui npm:

npm install ioredis
Salin selepas log masuk

Selepas pemasangan selesai, perkenalkan perpustakaan ioredis ke dalam fail JavaScript:

const Redis = require('ioredis');
const redis = new Redis();
Salin selepas log masuk

Seterusnya, kita boleh menggunakan Redis untuk caching data.

  1. Cache data tunggal
    Kami boleh menyimpan item data dalam Redis dan menetapkan masa tamat tempoh untuk mencapai caching data. Berikut ialah contoh kod:
async function getDataFromCache(key) {
  const cachedData = await redis.get(key);
  if (cachedData) {
    console.log('从缓存中获取数据');
    return JSON.parse(cachedData);
  }

  console.log('从数据库获取数据');
  const dataFromDB = await fetchDataFromDB(key);
  redis.set(key, JSON.stringify(dataFromDB), 'ex', 60);
  return dataFromDB;
}

async function fetchDataFromDB(key) {
  // 从数据库中获取数据的逻辑
}

// 使用方式:
const data = await getDataFromCache('exampleKey');
Salin selepas log masuk

Dalam kod di atas, kami mula-mula menyemak sama ada kunci yang dinyatakan wujud dalam Redis Jika ia wujud, data diperoleh terus daripada cache dan dikembalikan jika ia tidak wujud diperoleh daripada pangkalan data dan disimpan dalam Dalam Redis, masa tamat tempoh juga ditetapkan. Dengan cara ini, pada kali seterusnya anda meminta kunci yang sama, data akan diperoleh terus dari cache Redis tanpa menanyakan pangkalan data lagi.

  1. Berbilang cache data
    Selain menyimpan data tunggal, kami juga boleh menyimpan berbilang item data ke dalam Redis. Berikut ialah contoh kod:
async function getDataListFromCache(keys) {
  const cachedData = await redis.mget(keys);

  const nonCachedDataKeys = [];
  const dataMap = {};
  for (let i = 0; i < keys.length; i++) {
    const key = keys[i];
    const cachedDatum = cachedData[i];
    if (cachedDatum) {
      dataMap[key] = JSON.parse(cachedDatum);
    } else {
      nonCachedDataKeys.push(key);
    }
  }

  if (nonCachedDataKeys.length > 0) {
    console.log('从数据库获取数据');
    const dataFromDB = await fetchDataListFromDB(nonCachedDataKeys);
    for (const data of dataFromDB) {
      const key = data.key;
      redis.set(key, JSON.stringify(data), 'ex', 60);
      dataMap[key] = data;
    }
  }

  return keys.map(key => dataMap[key]);
}

async function fetchDataListFromDB(keys) {
  // 从数据库中批量获取数据的逻辑
}

// 使用方式:
const dataList = await getDataListFromCache(['key1', 'key2', 'key3']);
Salin selepas log masuk

Dalam kod di atas, kami mula-mula mendapatkan data yang sepadan dengan berbilang kunci pada satu masa melalui arahan mget. Kemudian, ulangi melalui data yang diperoleh, huraikan data hit cache (sedia ada) ke dalam objek, dan rekod kekunci hilang cache (tidak wujud). Kemudian, data kehilangan cache diperolehi dalam kelompok daripada pangkalan data dan disimpan dalam Redis. Akhirnya, semua data yang diminta dikembalikan.

Kesimpulan:

Artikel ini memperkenalkan aplikasi Redis dalam pembangunan JavaScript dan menunjukkan cara melaksanakan caching data melalui contoh kod. Dengan menggunakan Redis untuk caching data, prestasi dan responsif aplikasi anda boleh dipertingkatkan dengan ketara. Pada masa yang sama, Redis, sebagai pangkalan data dalam memori yang berkuasa, juga boleh melaksanakan fungsi yang lebih maju, seperti terbitkan/langganan, kedudukan, dsb. Oleh itu, dalam pembangunan JavaScript, kita harus pandai menggunakan Redis untuk mengoptimumkan dan meningkatkan prestasi aplikasi dan pengalaman pengguna.

Rujukan:

  1. ioredis dokumentasi rasmi: https://github.com/luin/ioredis

Atas ialah kandungan terperinci Aplikasi Redis dalam pembangunan JavaScript: Bagaimana untuk melaksanakan caching data. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan