Redis Singleton dalam Aplikasi Ekspres Anda

PHPz
Lepaskan: 2024-08-07 06:46:42
asal
467 orang telah melayarinya

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;

Salin selepas log masuk

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}`);
});

Salin selepas log masuk

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!

sumber:dev.to
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