UNPKG

@nomyx/assistant

Version:

A powerful assistant library and cli for your AI projects. works with Vertex AI (Claude and Gemini)

36 lines (28 loc) 986 B
// LOCKED: TRUE // All content in this file is locked and cannot be edited. import { createClient, RedisClientType } from 'redis'; import { CacheManager } from '../types/cache'; import { ProviderResponse } from '../types/chat'; export class RedisCacheManager implements CacheManager { private client: RedisClientType; constructor(redisUrl: string) { this.client = createClient({ url: redisUrl }); this.client.connect().catch(console.error); } async get(key: string): Promise<ProviderResponse | null> { const value = await this.client.get(key); return value ? JSON.parse(value) : null; } async set(key: string, value: ProviderResponse, ttl: number): Promise<void> { await this.client.setEx(key, ttl, JSON.stringify(value)); } async delete(key: string): Promise<void> { await this.client.del(key); } async clear(): Promise<void> { await this.client.flushDb(); } async close(): Promise<void> { await this.client.quit(); } }