Solidis LogoSolidis

Getting Started with Solidis

Learn how to integrate Solidis into your project and start building high-performance Redis applications.

Prerequisites
  • Node.jsVersion 14.0 or higher (Node.js 22 LTS recommended)
  • TypeScriptVersion 4.5 or higher (optional but recommended)
  • RedisAny RESP-compatible server
Installation
Install Solidis using your preferred package manager
npm install @vcms-io/solidis
Client Types
Choose the right client for your needs

1. Basic Client (SolidisClient)

The basic client contains minimal functionality to reduce bundle size. You need to extend it with specific commands:

// Import the basic client and commands
import { SolidisClient } from '@vcms-io/solidis';
import { get } from '@vcms-io/solidis/command/get';
import { set } from '@vcms-io/solidis/command/set';
import { multi } from '@vcms-io/solidis/command/multi';
import type { SolidisClientExtensions } from '@vcms-io/solidis';
// Define extensions with type safety
const extensions = {
get,
set,
multi
} satisfies SolidisClientExtensions;
// Initialize client with extensions
const client = new SolidisClient({
host: '127.0.0.1',
port: 6379
}).extend(extensions);
// Use commands
await client.set('key', 'value');
const value = await client.get('key');

2. Featured Client (SolidisFeaturedClient)

A convenience client with all RESP commands pre-loaded:

// Import the featured client
import { SolidisFeaturedClient } from '@vcms-io/solidis/featured';
// All RESP commands are pre-loaded
const client = new SolidisFeaturedClient({
host: '127.0.0.1',
port: 6379
});
// Use any RESP command directly
await client.set('key', 'value');
await client.hset('hash', 'field', 'value');
await client.lpush('list', 'item-1', 'item-2');
Connection Management
Learn how to manage Redis connections
// Create client (with lazy connect)
const client = new SolidisClient({
uri: 'redis://127.0.0.1:6379',
lazyConnect: true
}).extend({ get, set });
// Explicitly connect when needed
await client.connect();
// Handle connection events
client.on('connect', () => console.log('Connected to server'));
client.on('ready', () => console.log('Client is ready for commands'));
client.on('error', (err) => console.error('Error occurred: ', err));
client.on('end', () => console.log('Connection closed'));
// Close connection when done
client.quit();
Basic Operations
Common Redis operations with Solidis
// Set a key
await client.set('key', 'value');
// Get a key
const value = await client.get('key');
console.log(value); // 'value'
// Delete a key
await client.del('key');
Transactions
Working with Redis transactions
// Start a transaction
const transaction = client.multi();
// Queue commands (no await needed)
transaction.set('key', 'value');
transaction.incr('counter');
transaction.get('key');
// Execute transaction
const results = await transaction.exec();
console.log(results); // [[ 'OK' ], [ 1 ], [ <Buffer 76 61 6c 75 65> ]]
// Or discard a transaction if needed
const transaction = client.multi();
transaction.set('key', 'value');
transaction.discard(); // Cancel transaction
Next Steps
Continue your journey with Solidis

📚 API Reference

Explore the complete API documentation with detailed examples.

View API Reference →

🎯 Tutorials

Learn by building real-world applications with step-by-step guides.

Start Learning →