directus
1import { Redis } from 'ioredis';
2import { createRedis } from './create-redis.js';
3
4/**
5* Memoization cache for useRedis
6*
7* @see {@link useRedis}
8*/
9export const _cache: { redis: Redis | undefined } = {
10redis: undefined,
11};
12
13/**
14* Access the globally shared Redis instance
15* Creates new Redis instance on first invocation
16*
17* @returns Globally shared Redis instance
18*/
19export const useRedis = () => {
20if (_cache.redis) return _cache.redis;
21
22_cache.redis = createRedis();
23
24return _cache.redis;
25};
26