node-redis guide (JavaScript)

Connect your Node.js/JavaScript application to a Redis database

node-redis is the Redis client for Node.js/JavaScript. The sections below explain how to install node-redis and connect your application to a Redis database.

Note:

node-redis is the recommended client library for Node.js/JavaScript, but we also support and document our older JavaScript client ioredis. See Migrate from ioredis if you are interested in converting an existing ioredis project to node-redis.

node-redis requires a running Redis server. See here for Redis Open Source installation instructions.

You can also access Redis with an object-mapping client interface. See RedisOM for Node.js for more information.

Install

To install node-redis, run:

npm install redis

Connect and test

Connect to localhost on port 6379.

Language: Node.js
Foundational: Create a client connection to a Redis server using node-redis
Ctrl+Enter to run
import { createClient } from 'redis';

const client = createClient();

client.on('error', err => console.log('Redis Client Error', err));

await client.connect();

Store and retrieve a simple string.

Language: Node.js
Foundational: Set and retrieve string values using SET and GET commands
Ctrl+Enter to run
await client.set('key', 'value');
const value = await client.get('key');
console.log(value);

Store and retrieve a map.

Language: Node.js
Foundational: Store and retrieve hash data structures using HSET and HGET commands
Ctrl+Enter to run
await client.hSet('user-session:123', {
    name: 'John',
    surname: 'Smith',
    company: 'Redis',
    age: 29
})

let userSession = await client.hGetAll('user-session:123');
console.log(JSON.stringify(userSession, null, 2));

To connect to a different host or port, use a connection URL:

createClient({
  url: 'redis://alice:[email protected]:6380'
});
Note:

node-redis supports connection URLs through the url option of createClient(). A URL can set the host, port, credentials, database, and whether to use TLS, so you can use one instead of passing those options separately.

To check if the client is connected and ready to send commands, use client.isReady, which returns a Boolean. client.isOpen is also available. This returns true when the client's underlying socket is open, and false when it isn't (for example, when the client is still connecting or reconnecting after a network error).

When you have finished using a connection, close it with client.quit().

Language: Node.js
Foundational: Close a Redis client connection using the quit() method
Ctrl+Enter to run
await client.quit();

More information

The node-redis website has more examples. The Github repository also has useful information, including a guide to the connection configuration options you can use.

See also the other pages in this section for more information and examples:

RATE THIS PAGE
Back to top ↑