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
TypeScript
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 };