Rumah  >  Artikel  >  hujung hadapan web  >  Membina Kedai Redis Mudah dengan Node.js

Membina Kedai Redis Mudah dengan Node.js

DDD
DDDasal
2024-10-22 06:22:30713semak imbas

Building a Simple Redis Store with Node.js

Hai kawan! ?

Saya telah bermain-main dengan Node.js dan memutuskan untuk mencipta stor nilai kunci dalam memori yang ringan yang meniru versi ringkas Redis. Jika anda ingin memulakan rangkaian dalam Node.js, atau hanya suka meneroka projek sampingan yang menyeronokkan, projek ini untuk anda!

? Ciri-ciri Utama:

  • Arahan Disokong:
    • SET nilai kunci - Simpan pasangan nilai kunci.
    • GET key - Dapatkan semula nilai kunci.
    • KEkunci PADAM - Alih keluar pasangan nilai kunci.
  • Menggunakan modul bersih Node.js untuk mencipta pelayan TCP untuk mengendalikan sambungan pelanggan.
  • Kedai redis yang sangat ringkas, bagus untuk ujian pantas atau pembelajaran interaksi TCP!

⚙️ Gambaran Keseluruhan Kod:

const net = require('net');

class SimpleRedis {
  constructor() {
    this.store = {};
  }

  set(key, value) {
    this.store[key] = value;
  }

  get(key) {
    return this.store[key] || null;
  }

  delete(key) {
    delete this.store[key];
  }
}

// Initialize store
const store = new SimpleRedis();

// Create a TCP server
const server = net.createServer((socket) => {
  console.log('Client connected');

  socket.on('data', (data) => {
    const command = data.toString().trim().split(' ');
    const action = command[0].toUpperCase();

    let response = '';

    switch (action) {
      case 'SET':
        const [key, value] = command.slice(1);
        store.set(key, value);
        response = `>> OK\n`;
        break;
      case 'GET':
        const keyToGet = command[1];
        const result = store.get(keyToGet);
        response = result ? `>> ${result}\n` : '>> NULL\n';
        break;
      case 'DELETE':
        const keyToDelete = command[1];
        store.delete(keyToDelete);
        response = `>> OK\n`;
        break;
      default:
        response = '>> Invalid command\n';
    }

    // Send the response with '>>'
    socket.write(response);
  });

  socket.on('end', () => {
    console.log('Client disconnected');
  });
});

// Start the server on port 3001
server.listen(3001, () => {
  console.log('Server is running on port 3001');
});

? Apa yang Berlaku:

  • Pelayan mendengar pada port 3001 dan bertindak balas kepada perintah SET, GET dan DELETE.
  • Ia sangat mudah dan mudah—hanya hantar arahan daripada mana-mana klien TCP seperti telnet atau netcat, dan lihat arahan anda dalam tindakan!

? Untuk Mencubanya:

  1. Simpan kod sebagai simpleRedis.js.
  2. Jalankannya dengan nod simpleRedis.js.
  3. Buka terminal baharu dan sambungkannya menggunakan:
   telnet localhost 3001
  1. Kini, anda boleh berinteraksi dengan stor nilai kunci dalam memori anda!

Contohnya:

SET name Hoang
GET name
>> Hoang
DELETE name
GET name
>> NULL

Github
Cubalah! ? Beritahu saya pendapat anda atau cara anda melanjutkan perkara ini.


Atas ialah kandungan terperinci Membina Kedai Redis Mudah dengan Node.js. 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