Record Cache

Learn how record caching works for Aurea CRM.

Aurea CRM caches records both globally and locally, i.e. per session. If multiple instances of Aurea CRM access the same record, the record may be cached by one instance while it is updated by another instance. If instance 1 reloads the record from the cache it may "lose" the changes made by instance 2.

CRM.core provides a configurable record cache:

  • Global cache:
    • single: Record cache per info area for frequently used info areas, e.g. FI.
    • mixed: Up to 10 info area-independent caches, i.e. multiple info areas are cached collectively.
  • Session cache: one info area-independent (mixed) record cache.

The record cache is configured hard-coded, see Record Cache Defaults. These defaults can be overruled via an XML file, see performanceSettings.xml.

Read/Write

  • Aurea CRM web:
    • FetchId():
      • if the MMC_RECORD_SEARCHINCACHE flag is enabled
      • if MMC_READ_FOR_UPDATE or MMC_RECORD_BLOB are disabled and the cache attribute <> "low" or FetchId() is explicitly disabled
    • LoadRecordById():
      • if the MMC_RECORD_SEARCHINCACHE flag is enabled (e.g. when building references, or via FetchId())
  • CRM.core:
    • LoadReadRec(): if the cache attribute is set to "high"

Update/Delete

Update and delete operations are reflected in the cache.