Skip to main content

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 },
);