Entity Index Caching

When RIMMF starts up, it creates the Entity Index (what we call the 'EI')–a database of all records that you have in the current data folder. Unlike a real library management system, which stores your database tables on disk, RIMMF stores them in memory. So, starting RIMMF takes a bit of time (depending on the record count), with the benefit of fast performance once the EI has been created.

While the EI is being created, the program also generates from scratch all of the tables needed to support dynamic linking, RTree displays, searching, and so on. Normally, this does not take more than one second; but if the data folder is large, more than a few hundred entity records, you will notice that it may some time 1). At the same time, the program also checks all records for missing inverse links, and adds them if applicable.


There is an option, on the main menu, to support cacheing of the EI:

The default value is 'Rebuild daily', which means that the first time each day that a data folder is opened, RIMMF will clear any existing cache files and make a new one.

The first option, 'Do not cache', means that a cache will never be used–the EI will always be regenerated from the data in your records when the program starts.

And the last option, is the opposite: the EI will always be generated from the cache.

Exceptions

In the following cases, RIMMF ignores the above cache options and rebuilds the EI:

  1. if the data folder in use has less than 100 records
  2. if the program version has changed
  3. if the number of files present in the data folder being used does not match the number of files represented in the cache
  4. the program was started using a 'No cache' flag 2)
  5. if there was an error saving the cache the last time the data folder was used
1)
about 15 seconds for each 500 records, as a ballpark figure
2)
which happens if you use the 'Tools|Admin' option to 'Rebuild EI', or another utility that requires this
details/eicache.txt · Last modified: 2023/06/07 20:39 by 127.0.0.1
Back to top
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki