When to clear the cache
Retrieving content from memory is faster than retrieving content from the database. Since data model objects do not change frequently, rather than retrieving them from the database each time they are accessed, they are copied to the data cache then accessed from there. When a data model object is changed, the changes are written to the database, and then the cached definition of that object is no longer accurate. The cache must be cleared, then when the object is referenced again, it will be reloaded into the cache. Cached data model definitions cannot be cleared individually. The only way to clear a data model definition from the cache is to clear the entire cache. Therefore, after the cache is cleared, access to data model objects is slower until they have been reloaded into the cache.
Clearing the cache temporarily slows system performance, but depending on the data model, the slowdown may be significant. Therefore, changing the data model and clearing the cache should be performed after normal business hours. The best practice is to make all your data model changes, then clear the cache once.
After a user clears the cache, when other users refresh their UI they will see the updated data model. If they do not refresh their UI, there may be inconsistencies between what they see in the UI and the updated data model definitions.
The cache should only be cleared if you make a change to the data model. Users who are only adding or editing records in repositories should not clear the cache.
Modifying the following data model objects requires the cache to be cleared afterward:
- Profile: All modifications to a profile require clearing the cache, such as adding or editing attributes, changing attribute metadata, and modifying validation rules. Creating or deleting a profile does not require clearing the cache.
- Repository: Editing data in a repository does not require the cache to be
cleared. Editing a repository's characteristics does require the cache to be
cleared. These characteristics are accessed through the Classic UI's Feature
bar, by selecting the repository.
- Select repository > Edit > all options
- Select repository > Manage Model > all options
- Select repository > Security
- Taxonomy and Hierarchy: Creating a taxonomy or hierarchy requires clearing the cache. Changes that do not require clearing the cache include editing records assigned to a hierarchy or taxonomy; and adding, editing, or deleting nodes.
- User Preference: Adding or editing a repository's user preference requires clearing the cache.
- User group: Assigning a user to a group requires clearing the cache.
- Snapshot tables: The cache needs to be cleared after a snapshot table is rebuilt, dropped, or repopulated; a category attribute snapshot table is enabled or disabled; or a multi-language snapshot table is enabled or disabled.
These activities do not require clearing the cache:
- Profile: Creating or deleting a profile.
- Repository: Creating or deleting a repository.
- Records: Adding, editing, or deleting records.
- Code set: Creating or deleting a code set. Adding, editing, or deleting values from a code set.
- Taxonomy and Hierarchy: Editing records assigned to a hierarchy or taxonomy, Adding, editing, or deleting nodes.
- Category and dynamic attribute mapping: Creating or editing a mapping.
- Saved search: Creating or deleting a saved search.
- Saved set: Creating or deleting a saved set.
- Attribute security filter: Creating or deleting an attribute security filter.
- Record security filter: Creating or deleting a record security filter.
- Import and Export templates: Creating or deleting import and export templates.
- User: Creating a new user.
- User group: Creating a new user group.
How to clear the cache
When you clear the cache, you must clear it in both the New UI and the Classic UI.
To clear the cache in the New UI, open the Feature Sidebar, open the System tab, and select Clear Cache.
To clear the cache in the Classic UI, open the Feature Bar, open the System tab, and select Data Cache.
After the cache is cleared, when other users refresh a tab they will see the updated data model.