Skip to main content
⚠️ AppKit is in an early development phase and is subject to change without notice. DO NOT use in production environments.

# Caching

AppKit provides both global and plugin-level caching capabilities.

## Global cache configuration​

    await createApp({
      plugins: [server(), analytics({})],
      cache: {
        enabled: true,
        ttl: 3600,              // seconds
        strictPersistence: false,
      },
    });

Storage auto-selects Lakebase V1 (Provisioned) persistent cache when healthy, otherwise falls back to in-memory. Support for Lakebase Autoscaling coming soon.

## Plugin-level caching​

Inside a Plugin subclass:

    const value = await this.cache.getOrExecute(
      ["myPlugin", "data", userId],
      async () => expensiveWork(),
      userKey,
      { ttl: 300 },
    );