안녕 친구들! ?
저는 Node.js를 가지고 놀다가 Redis의 간단한 버전을 모방하는 가벼운 인메모리 키-값 저장소를 만들기로 결정했습니다. Node.js에서 네트워킹을 시작하고 싶거나 재미있는 사이드 프로젝트를 탐색하는 것을 좋아한다면 이것이 바로 여러분을 위한 것입니다!
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'); });
? 사용 방법:
telnet localhost 3001
예:
SET name Hoang GET name >> Hoang DELETE name GET name >> NULL
깃허브
한번 시도해 보세요! ? 여러분의 생각이나 이를 어떻게 확장할 것인지 알려주세요.
위 내용은 Node.js로 간단한 Redis 스토어 구축의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!