Local Configuration Cache

GENESIS can cache a local copy of a configuration database to reduce the number of times a SQL Server database needs to be accessed and protect against failure of the database or the network.

The configuration cache can be enabled or disabled on individual components. Enabling the configuration cache is easy:

  1. In Workbench, do one of the following:

    • On the Home tab of the top ribbon, select Configure Components.

    • In the Project Explorer, right-click on your project and select Configure Components.

  2. Under Available components, find the desired component and check the box for Local Cache.

    If the BACnet Query Interface is running when you turn on local cache for BACnet, GENESIS can create the BACnet cache file with no tables. Before you select Local Cache for BACnet, set the GENESIS BACnet Query Interface service to Disabled in the Windows Services application. Stopping the service is not enough because applying the change starts it again. After GENESIS builds the cache, you can set the service back to its desired startup type and start it.

The configuration cache is very useful to redundant systems. The central configuration database for both redundant servers can be located on one of the servers, and the configuration cache will allow both servers to access the configuration even if the server hosting SQL Server has failed.

The cached copy is stored in a SQLite database located at C:\ProgramData\ICONICS\11\Data\Cache. This database provides the caching by cloning all the configuration from SQL Server to this local SQLite database.

When a configuration is updated on SQL Server, there is a sequence to automatically refresh the cache. This avoids synchronizations issues and improves the chance of a cache hit (chance of finding the data locally which avoids access to the SQL Server instances). Also, there is no expiration time for the cached configurations, this implies that all data will always be available.