UNPKG

@directus/api

Version:

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

29 lines (28 loc) 806 B
import { useEnv } from '@directus/env'; import { defineCache } from '@directus/memory'; import { redisConfigAvailable, useRedis } from '../redis/index.js'; import { getMilliseconds } from '../utils/get-milliseconds.js'; const localOnly = redisConfigAvailable() === false; const env = useEnv(); const ttl = getMilliseconds(env['CACHE_SYSTEM_TTL']); const config = localOnly ? { type: 'local', maxKeys: 500, } : { type: 'multi', redis: { namespace: 'permissions', redis: useRedis(), ...(ttl !== undefined ? { ttl } : {}), }, local: { maxKeys: 100, }, }; export const useCache = defineCache(config); export function clearCache() { const cache = useCache(); return cache.clear(); }