Description
All caching settings can be set in the .restapplicationsettings file. Configuration can be seen below:
"memoryCache": {
"menus": false,
"repository": false
},
"repositoryCache": {
"enabled": true,
"skipList": ""
},
"dynamicBusinessEntityCache": {
"enabled": false
}
How to use it
Frontend
Repository and menu cache can be configured in .restapplicationsettings under:
"memoryCache": {
"menus": false,
"repository": false
},
They can also be enabled from the console:
//activate repository cache
akioma?.applicationSettings?.memoryCache?.repository = 'yes'
//activate menu cache
akioma?.applicationSettings?.memoryCache?.menus = 'yes'
- Reloading the browser page clears the memory caches
Backend
Repository Cache
Repository config can be enabled in .restapplicationsettings, under:
"repositoryCache": {
"enabled": true,
"skipList": ""
}
Objects included in the “skipList” will not be cached.
Repository cache can be deleted under Grunddaten → RepoCache/BECache. Open the screen by double-clicking on the cache record (RepoCache/BECache) and deleting the desired definition.
NOTE: This does not always work, since the definition is sent in the request. Sometimes, you get 413 error, since request size is too large. Known issue.
Dynamic repository cache
Dynamic repo config can be enabled in .restapplicationsettings, under:
"dynamicBusinessEntityCache": {
"enabled": false
}
The dynamic BE performance has been improved by implementing a dedicated dynamic BE definition cache. The cache has been implemented similar to the repository cache. The cache service is loaded by default, but the caching itself needs to be enabled though application settings (in the application settings desktop, it's the 'dynamicBusinessEntityCache.enabled' property).
Once active, it will automatically cache dynamic BE definitions. This can interfere with development, as the cache doesn't automatically clear on definition change, so, there is a new toolbar button in the 'Datasources' desktop, which can trigger a clear of the entire cache(’Clear Dynamic BE Cache’).
This should be improved similar to the repository cache, so the clear is automatic and only on the changed object.
Memory Cache Manager
In memory caching can be set from the Application Settings: memoryCache.menus(yes/no, default no). and from the memoryCache.repository(yes/no, default no)
MemoryCacheManager
Manager for all in memory cache entries. Can be used to disable or enable the MemoryCache globally for both Menu Structures and repository objects.
For all MemoryCache stores CLAPI there are methods to clear all cache, enable or disable caching.
akioma.MemoryCacheManager.deleteById('objectdesignerw');
akioma.MemoryCacheManager.enable();
akioma.MemoryCacheManager.disable();
akioma.MemoryCacheManager.clear();
MenuStructureCache
Caching manager class useful for handling MenuStructure objects caching. Can be used as the Manager class but will only delete, enable, disable or clear the MenuStructure entries from the memory cache.
CLAPI methods to clear all cache, enable or disable caching:
akioma.MenuStructureCache.deleteById('objectdesignerw');
akioma.MenuStructureCache.enable();
akioma.MenuStructureCache.disable();
akioma.MenuStructureCache.clear();
akioma.MenuStructureCache.isCacheEnabled();
RepositoryCache
Caching manager class useful for handling Repository objects caching. Can be used as the Manager class but will only delete, enable, disable or clear the Repository Object entries from the memory cache. CLAPI methods to clear all cache, enable or disable caching:
akioma.RepositoryCache.deleteById('objectdesignerw');
akioma.RepositoryCache.enable();
akioma.RepositoryCache.disable();
akioma.RepositoryCache.clear();
akioma.RepositoryCache.isCacheEnabled();
Back to Documentation
Back to Home Page