Performance Settings

The performance group in the configuration tool controls the caching of data in SanteDB.
The services installed by default on SanteDB are:
  • REDIS Based Caching Services: These connect to the REDIS server and store objects in cache there. REDIS caching is useful in a scaled-out deployment where multiple application servers must share cached data between themselves.
  • Memory Based Caching Service: These are local in-process caches. This type of caching service is useful for single process or single application servers.
The caching control panel is broken into two sections:
  • Configuration Sections: Which are used to control the configuration of each class of caching, and
  • Services Section: Which is used to set the caching service/strategy used.

Services Configuration

The services section is used to to control the implementations of the caching infrastructure.
Data Object Cache
The data object cache is used to store fully loaded objects from the database. This service reduces load on the database.
Ad-Hoc Cache
The ad-hoc cache is used to store any value which a plugin needs to store. These are typically used to cache policy decisions, policy information, term lookups, etc.
Stateful Query Cache
The stateful query cache is used to store stateful query results which are paginated on the client. Stateful queries are useful for freezing a result set to those at the time of query.

Cache Configuration

REDIS Configuration

REDIS Server(s)
The location of the REDIS server (or pool of servers) which should be used for caching.
If the REDIS server requires authentication (recommended) the username to use to authenticate with the REDIS server.
If the REDIS server requires authentication (recommended) the password which matches the username.
The Time To Live of objects stored in REDIS. Default is 15 minutes.
00:15:00 15 Minutes
01:00:00 1 Hour
Broadcast Messages
If true, then the SanteDB server will broadcast updates to the REDIS server cache objects so that other SanteDB servers are notified when data in the REDIS server changes.

Memory Configuration

Max Cache Size (MB)
The maximum amount of in-process memory to dedicate to caching objects.
1000 = 1 GB
Max Cache Age (S)
The maximum length of time in seconds for cached objects to live in the cache before being evicted.
Max Query Age (S)
The maximum length of time (in seconds) for cached stateful queries to be retained before being evicted (note: callers must complete consumption of the query prior to this time)