The Server Data Object Caching (SDO) feature of the CGI Advantage system provides fast access to mostly static reference data. This is achieved by maintaining an internal cache of data objects in memory at the application server layer. This allows the server to bypass the database altogether when a request to retrieve data is made.
The SDO cache is dynamic in nature; it is populated as requested data is retrieved from the underlying database. This allows the SDO cache to automatically grow as requests are made for non-cached data. To keep the overall size of the SDO cache in check, a Least Frequently Used (LFU) algorithm manages the SDO cache by removing infrequently accessed data from the internal cache.
To ensure data consistency between the SDO cache and the underlying database, insert, update, and delete actions are not allowed on data objects while they are set to participate in the SDO cache. It is important for system administrators to keep this in mind when identifying a data object that could participate in the SDO cache.
Only data object getObjectByKey() calls are serviced by the SDO cache mechanism. If a matching row is found in the cache it is returned; otherwise, a call is made to the database and that row is then added to the data object’s cache to service any future requests. This lazy loading SDO mechanism ensures that the most frequently accessed rows of a table are loaded in memory first.
Refer to the following topics for additional information: