Logo

    Home

    Documentation

    Use Cases

    Training

    Applications

    Release Notes

    Caching Settings

    Caching Settings

    • Description
    • How to use it
    • Frontend
    • Backend
    • Repository Cache
    • Dynamic repository cache
    • Memory Cache Manager

    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.

    image

    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’).

    image

    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 DocumentationDocumentation

    Back to Home Page

    Logo