This package implements the SessionStorage
interface that works with an instance of Redis.
You can create an instance of RedisSessionStorage
in several ways:
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',
),
// ...
});
const shopify = shopifyApp({
sessionStorage: new RedisSessionStorage(
new URL('redis://username:password@host/database'),
),
// ...
});
const shopify = shopifyApp({
sessionStorage: RedisSessionStorage.withCredentials(
'host.com',
'thedatabase',
'username',
'password',
),
// ...
});
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.