UNPKG

@directus/api

Version:

Directus is a real-time API and App dashboard for managing SQL database content

21 lines (20 loc) 538 B
import { createKv } from '@directus/memory'; import { redisConfigAvailable, useRedis } from '../../redis/index.js'; export const _cache = { lock: undefined, }; /** * Returns globally shared lock kv instance. */ export const useLock = () => { if (_cache.lock) { return _cache.lock; } if (redisConfigAvailable()) { _cache.lock = createKv({ type: 'redis', redis: useRedis(), namespace: 'directus:lock' }); } else { _cache.lock = createKv({ type: 'local' }); } return _cache.lock; };