Use Cases
Common Use Cases
- User session storage
- Shopping cart management
- Rate limiting
- Feature flag evaluation
Before You Begin
Prerequisites
- MongoDB instance
- Redis instance
- Application using session-based auth
Walkthrough
Step-by-Step Guide
1
Configure Both Servers
Set up MongoDB and Redis MCP Servers with connection details.
2
Design Session Schema
Define the session data structure stored in Redis and the persistence format in MongoDB.
3
Implement Session Lifecycle
Create, read, update, and expire sessions with Redis as the hot store.
async function getSession(sessionId) {
let session = await redis.get(`session:${sessionId}`);
if (session) return JSON.parse(session);
// Fallback to MongoDB for expired but valid sessions
session = await mongodb.findOne("sessions", { _id: sessionId });
if (session) {
await redis.set(`session:${sessionId}`, JSON.stringify(session), { EX: 3600 });
}
return session;
}4
Persist to MongoDB
Periodically flush active sessions from Redis to MongoDB for durability.
5
Handle Cleanup
Set up TTLs in both Redis and MongoDB to auto-expire old sessions.
Examples
Code Examples
typescript
Session Creation
async function createSession(userId, data) {
const sessionId = generateSessionId();
const session = { userId, ...data, createdAt: new Date() };
await redis.set(`session:${sessionId}`, JSON.stringify(session), { EX: 3600 });
await mongodb.insertOne("sessions", { _id: sessionId, ...session });
return sessionId;
}Help
Troubleshooting
What happens if Redis goes down?+
How do I handle session invalidation?+
Quick Info
DifficultyIntermediate
Time Estimate45 minutes
Tools
MongoDB MCP ServerRedis MCP Server