A notification system allows the cache to interact with external applications. This attribute can be useful on scenarios where certain activities, for example workflows, need to know the state of an item.
Cache item notification
A cache item notification system will allow clients to subscribe to any event associated with a specific cache item. These notifications are usually handled by a disconnected proxy that allows subscribers to hold an open channel with the notification service. The cache item is usually decorated with a reference to the notification tables and signals the entry when the item is modified, accessed or deleted.
This feature can be useful in scenarios where the cache is used as a pub/sub storage mechanism. But only use this feature if the amount of clients is below 25 as there is a performance penalty when using a notification system that can drag the update times to unacceptable levels. If this model is required consider using cache regions to minimize the overhead.
Group notifications are an advanced version of cache item notification. This model allows grouping several items into a single notification model or to attach a notification to the cache region or cache segment (similar to a table or database notification in the database world).
Some caches provide a custom notification extensibility model where system developers can create custom notifications. This capability is usually implemented with a transparent proxy from the notification system to the external plug-in (usually implemented through inversion of control).
This capability will allow developers to create their own notifications, this can involve external systems. It is recommended to use async operations when notifying if the cache uses the notifications model synchronically.