Skip to content

Latest commit

 

History

History

shopify-app-session-storage-redis

Session Storage Adapter for Redis

This package implements the SessionStorage interface that works with an instance of Redis.

You can create an instance of RedisSessionStorage in several ways:

Using a connection URL

import {shopifyApp} from '@shopify/shopify-app-express';
import {RedisSessionStorage} from '@shopify/shopify-app-session-storage-redis';

const shopify = shopifyApp({
  sessionStorage: new RedisSessionStorage(
    'redis://username:password@host/database',
  ),
  // ...
});

Using a URL object

const shopify = shopifyApp({
  sessionStorage: new RedisSessionStorage(
    new URL('redis://username:password@host/database'),
  ),
  // ...
});

Using credential components

const shopify = shopifyApp({
  sessionStorage: RedisSessionStorage.withCredentials(
    'host.com',
    'thedatabase',
    'username',
    'password',
  ),
  // ...
});

Using a RedisClient instance

Note

Remember that RedisSessionStorage will connect to the database, but won't disconnect from it. If you need to restart the connection, you'll need to manually connect again for the storage to continue working.

import {RedisClientOptions, createClient} from 'redis';
const client = createClient({url: 'redis://username:password@host/database'});

const shopify = shopifyApp({
  sessionStorage: new RedisSessionStorage(client),
  // ...
});

If you prefer to use your own implementation of a session storage mechanism that is compatible with the @shopify/shopify-app-express package, see the implementing session storage guide.