Rumah >hujung hadapan web >tutorial js >Redis Singleton dalam Aplikasi Ekspres Anda

Redis Singleton dalam Aplikasi Ekspres Anda

PHPz
PHPzasal
2024-08-07 06:46:42539semak imbas

Redis Singleton in Your Express Application

Hai korang !!!
Adakah anda ingin mengoptimumkan aplikasi Express anda dengan penggunaan Redis yang cekap? Jangan cari lagi! Dalam siaran ini, kami akan menyelami pelaksanaan Redis Singleton dalam apl Express anda untuk memastikan penyelesaian caching yang diperkemas, cekap dan berskala. Mari kita tingkatkan aplikasi kita bersama-sama!

Untuk mencipta sambungan Redis yang dimulakan sekali dan digunakan semula sepanjang aplikasi Node.js Express anda, anda boleh menggunakan corak tunggal. Ini memastikan bahawa hanya satu contoh klien Redis dibuat dan dikongsi di bahagian lain aplikasi anda.

1. Pasang Klien Redis: Mula-mula, pastikan anda memasang pustaka klien Redis. Anda boleh menggunakan ioredis atau redis. Di sini, kami akan menggunakan ioredis.
npm pasang ioredis

2. Buat Kelas Redis Singleton:

// redisClient.js
const Redis = require('ioredis');

class RedisClient {
  constructor() {
    if (!RedisClient.instance) {
      this.client = new Redis({
        host: 'localhost', // Change to your Redis server host
        port: 6379,        // Change to your Redis server port
        // Add other Redis connection options if necessary
      });

      this.client.on('connect', () => {
        console.log('Connected to Redis');
      });

      this.client.on('error', (err) => {
        console.error('Redis error', err);
      });

      RedisClient.instance = this;
    }

    return RedisClient.instance;
  }

  getClient() {
    return this.client;
  }
}

const instance = new RedisClient();
Object.freeze(instance);

module.exports = instance;

3. Gunakan Redis Singleton dalam Aplikasi Ekspres Anda:

// app.js
const express = require('express');
const redisClient = require('./redisClient');

const app = express();
const port = 3000;

app.get('/', async (req, res) => {
  const client = redisClient.getClient();
  await client.set('key', 'value');
  const value = await client.get('key');
  res.send(`Value for 'key' is: ${value}`);
});

app.listen(port, () => {
  console.log(`Server is running on http://localhost:${port}`);
});

Mengikuti strategi ini memastikan bahawa hanya satu contoh klien Redis dibuat dan digunakan semula sepanjang aplikasi anda, menjadikannya lebih cekap dan mengurangkan bilangan sambungan yang tidak perlu ke pelayan Redis.

Cuba <3 Selamat mengekod!!!

Atas ialah kandungan terperinci Redis Singleton dalam Aplikasi Ekspres Anda. 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