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/solidisClient 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:
1import { SolidisClient } from '@vcms-io/solidis';
2import { get, set, multi } from '@vcms-io/solidis/command';
3import type { SolidisClientExtensions } from '@vcms-io/solidis';
4
5const extensions = {
6 get,
7 set,
8 multi,
9} satisfies SolidisClientExtensions;
10
11const client = new SolidisClient({
12 host: '127.0.0.1',
13 port: 6379,
14}).extend(extensions);2. Featured Client (SolidisFeaturedClient)
A convenience client with all RESP commands pre-loaded:
1import { SolidisFeaturedClient } from '@vcms-io/solidis/featured';
2
3const client = new SolidisFeaturedClient({
4 host: '127.0.0.1',
5 port: 6379,
6});Connection Management
Learn how to manage Redis connections
1const client = new SolidisClient({
2 uri: 'redis://127.0.0.1:6379',
3 lazyConnect: true,
4}).extend({ get, set });
5
6await client.connect();
7
8client.on('connect', () => console.log('Connected to server'));
9client.on('ready', () => console.log('Client is ready for commands'));
10client.on('error', (err) => console.error('Error occurred: ', err));
11client.on('end', () => console.log('Connection closed'));
12
13client.quit();Basic Operations
Common Redis operations with Solidis
1await client.set('key', 'value');
2
3const value = await client.get('key');
4console.log(value); // 'value'
5
6await client.del('key');Transactions
Working with Redis transactions
1const transaction = client.multi();
2
3transaction.set('key', 'value');
4transaction.incr('counter');
5transaction.get('key');
6
7const results = await transaction.exec();