UNPKG

bentocache

Version:

Multi-tier cache module for Node.js. Redis, Upstash, CloudfareKV, File, in-memory and others drivers

43 lines (40 loc) 1.29 kB
import { DatabaseDriver } from '../database.js'; import { KnexConfig, CreateDriverResult, DatabaseAdapter } from '../../../types/main.js'; import '../../base_driver.js'; import '@poppinss/exception'; import '@boringnode/bus/types/main'; import '@julr/utils/logger'; import 'knex'; import 'kysely'; import '@aws-sdk/client-dynamodb'; import 'ioredis'; import 'orchid-orm'; /** * Create a knex driver * You will need to install the underlying database package (mysql2, pg, sqlite3, etc) */ declare function knexDriver(options: KnexConfig): CreateDriverResult<DatabaseDriver>; /** * Knex adapter for the DatabaseDriver */ declare class KnexAdapter implements DatabaseAdapter { #private; constructor(config: KnexConfig); setTableName(tableName: string): void; get(key: string): Promise<{ value: string; expiresAt: number | null; } | undefined>; delete(key: string): Promise<boolean>; deleteMany(keys: string[]): Promise<number>; disconnect(): Promise<void>; createTableIfNotExists(): Promise<void>; pruneExpiredEntries(): Promise<void>; clear(prefix: string): Promise<void>; set(row: { key: string; value: any; expiresAt: Date | null; }): Promise<void>; } export { KnexAdapter, knexDriver };