Lab 09: Redis & Node.js
Overview
docker run -d --name redis -p 6379:6379 redis:7
Step 1: Setup & Connection
const Redis = require('ioredis');
// Single connection
const redis = new Redis({
host: process.env.REDIS_HOST || 'localhost',
port: process.env.REDIS_PORT || 6379,
password: process.env.REDIS_PASSWORD,
db: 0,
retryStrategy(times) {
const delay = Math.min(times * 50, 2000);
return delay;
},
lazyConnect: false
});
redis.on('connect', () => console.log('Redis connected'));
redis.on('error', (err) => console.error('Redis error:', err.message));
redis.on('close', () => console.log('Redis disconnected'));
// Connection check
async function ping() {
const result = await redis.ping();
console.log('Ping:', result); // PONG
}
// Cluster connection
const cluster = new Redis.Cluster([
{ port: 7000, host: '127.0.0.1' },
{ port: 7001, host: '127.0.0.1' }
]);Step 2: String Operations
Step 3: Hash Operations
Step 4: List, Set, ZSet Operations
Step 5: Pipeline & Multi (Transactions)
Step 6: Pub/Sub
Step 7: Lua Scripting & Redis Streams
Step 8: Capstone — Caching Pattern
Summary
Data Type
Commands
Use Case
Last updated
