Caching user classes
User classes can be cached to improve performance for complex user classes and user class points.
On the General tab for a user class definition, there is an option to Recalculate or Invalidate the user class cache. Membership cache valid indicates the current status of the cache Yes
or No
.
If the status is Yes
, then the user class is cached on the time indicated by Date membership cache last updated. Users that are a member of the user class when it is cached will remain members until the cache expires or is recalculated. Even if the member’s criteria changes, the profile will be considered a member until either recalculation is performed or no longer valid. When there is a cached user class then Invalidate and Recalculate are available.
If the status is No
, then the user class has no cached information. Only Recalculate is available to load the cache information.
Note
In a replicated environment, cache recalculation can only be performed on the instance which runs psupdate
.
Only single-participant user class points can be cached. Built-in user classes cannot be changed and cached. This includes:
_ALLUSERS_
_UC_ATTR_AUTO_PROPAGATE_REQUESTER_
_UC_RBAC_AUTO_PROPAGATE_REQUESTER_
_USER_IS_MANAGER_
These are directly evaluated and do not require caching.
User class points that include only built-in user classes do not require any options to cache them. Adding one or more user classes that are not built-in will allow caching to be calculated. When recalculating a user class, any dependent user class points that are cached are also recalculated.
The user class cache expiry time is set by the USERCLASS CACHE EXPIRY variable at Manage the system > Policies > Options. Default is 72 hours.
The psupdate
program runs loaduccache
at the end of the auto discovery process.
User class cache events
The following user class options are triggered by the Manage the system (PSA) module, API Service, or directly by running the loaduccache program. They can be accessed from Manage the system > Maintenance > System variables or Manage the system > Policies > Options:
Option | Description |
---|---|
LOADUCCACHE FINISH | The loaduccache program finishes loading caches. |
LOADUCCACHE START | The loaduccache program starts to load caches. |
USERCLASS CACHE FAILURE | A userclass fails to be cached. |
USERCLASS CACHE INVALIDATE SUCCESS | A userclass’ cache is explicitly invalidated. |
USERCLASS CACHE SUCCESS | A userclass is successfully cached. |
USERCLASS POLICY CACHE FAILURE | A userclass policy fails to be cached. |
USERCLASS POLICY CACHE INVALIDATE SUCCESS | A userclass policy’s cache is explicitly invalidated |
USERCLASS POLICY CACHE SUCCESS | A userclass policy is successfully cached. |
See Event Actions for more information about event configuration.