Skip to content

Cache Management

oikapi uses a multi-level caching system to keep metadata lookups fast. As an admin, you can monitor cache performance and clear caches when needed.

CacheMax SizeTTLPurpose
table1,000-Table definitions
field1,000-Field definitions
presets1,000-Saved view/preset configurations
permissions- (group)- (varies)Permission check results (facade over multiple sub-caches; sub-caches use 30 sec – 10 min TTLs)
resolved_field_access5,0005 minField access resolution
js_executor1,000-Compiled JavaScript/TypeScript
effective_rules1,00030 secEffective business rules per table+trigger
webhook_rules1,0005 minWebhook rules per webhook name
user_roles10,0005 minUser role assignments
user_teams10,0005 minUser team assignments
api_keys10,0005 minAPI key validation
bm25_searchable_fields1,00010 minSearchable field definitions per table
app_cache1,000 per app5 minPer-application business rule cache
submissions1,0005 minPublic submission endpoint definitions
counter_metadataunlimited-Counter/sequence metadata
Terminal window
oi cache stats

Returns hit rate, size, hits, misses, and evictions for every cache.

Clear all caches:

Terminal window
oi cache clear

Clear a specific cache:

Terminal window
oi cache clear permissions

Inspect cache entries (superuser-only endpoint):

Terminal window
oi api GET '/api/internal/caches/permissions/entries?limit=100&offset=0'
oikapi_cache_size{cache_type="table"}
oikapi_cache_hits_total{cache_type="table"}
oikapi_cache_misses_total{cache_type="table"}
oikapi_cache_evictions_total{cache_type="table"}

Stale data after changes: Clear the relevant cache. On multi-instance deployments, cache invalidation is handled automatically via pub/sub.

Low hit rates: May indicate high cardinality access patterns. Contact support if this persists.

High memory usage: Reduce cache max sizes or enable TTL-based expiration.