Spaces:
Sleeping
Sleeping
| import { Redis } from '@upstash/redis'; | |
| import type { MutationOption } from "../core/index.js"; | |
| import { Cache } from "../core/index.js"; | |
| import { entityKind } from "../../entity.js"; | |
| import type { CacheConfig } from "../core/types.js"; | |
| export declare class UpstashCache extends Cache { | |
| redis: Redis; | |
| protected useGlobally?: boolean | undefined; | |
| static readonly [entityKind]: string; | |
| /** | |
| * Prefix for sets which denote the composite table names for each unique table | |
| * | |
| * Example: In the composite table set of "table1", you may find | |
| * `${compositeTablePrefix}table1,table2` and `${compositeTablePrefix}table1,table3` | |
| */ | |
| private static compositeTableSetPrefix; | |
| /** | |
| * Prefix for hashes which map hash or tags to cache values | |
| */ | |
| private static compositeTablePrefix; | |
| /** | |
| * Key which holds the mapping of tags to composite table names | |
| * | |
| * Using this tagsMapKey, you can find the composite table name for a given tag | |
| * and get the cache value for that tag: | |
| * | |
| * ```ts | |
| * const compositeTable = redis.hget(tagsMapKey, 'tag1') | |
| * console.log(compositeTable) // `${compositeTablePrefix}table1,table2` | |
| * | |
| * const cachevalue = redis.hget(compositeTable, 'tag1') | |
| */ | |
| private static tagsMapKey; | |
| /** | |
| * Queries whose auto invalidation is false aren't stored in their respective | |
| * composite table hashes because those hashes are deleted when a mutation | |
| * occurs on related tables. | |
| * | |
| * Instead, they are stored in a separate hash with the prefix | |
| * `__nonAutoInvalidate__` to prevent them from being deleted when a mutation | |
| */ | |
| private static nonAutoInvalidateTablePrefix; | |
| private luaScripts; | |
| private internalConfig; | |
| constructor(redis: Redis, config?: CacheConfig, useGlobally?: boolean | undefined); | |
| strategy(): "all" | "explicit"; | |
| private toInternalConfig; | |
| get(key: string, tables: string[], isTag?: boolean, isAutoInvalidate?: boolean): Promise<any[] | undefined>; | |
| put(key: string, response: any, tables: string[], isTag?: boolean, config?: CacheConfig): Promise<void>; | |
| onMutate(params: MutationOption): Promise<void>; | |
| private addTablePrefix; | |
| private getCompositeKey; | |
| } | |
| export declare function upstashCache({ url, token, config, global }: { | |
| url: string; | |
| token: string; | |
| config?: CacheConfig; | |
| global?: boolean; | |
| }): UpstashCache; | |