@happ-integ/cache
Тонкая обёртка над @happ-integ/kv для кэширования.
Установка
bash
pnpm add @happ-integ/cacheИспользование
typescript
import { Cache } from "@happ-integ/cache";
const cache = new Cache({
project: "sofa:cache",
kv: env.KV,
});Базовые операции
typescript
// Set с TTL (1 час)
await cache.set("user:123", { name: "John" }, 3600);
// Get
const user = await cache.get<User>("user:123");
// Delete
await cache.delete("user:123");Cache-Aside Pattern
typescript
// Получить из кэша или выполнить функцию
const data = await cache.cacheAside(
"expensive:key",
3600, // TTL в секундах
async () => {
// Эта функция выполнится только если кэш пуст
return await expensiveOperation();
}
);Health Check
typescript
const isHealthy = await cache.healthCheck();API
Cache
typescript
new Cache(config: ICacheConfig)Config:
| Параметр | Тип | Описание |
|---|---|---|
kv | KVNamespace | KV binding из env |
project | string | Имя проекта (для префиксов) |