This content has been marked as final. Show 2 replies
First, there are two types of cache for each item descriptor:
.*Item Caches*:Item caches hold the values of repository items, indexed by repository IDs. An item cache entry is invalidated when that item is updated.
.*Query Caches*:Query caches hold the repository IDs of items that match given queries. When a query returns repository
items whose item descriptor enables query caching, the result set is cached as follows:
--The query cache stores the repository IDs.
--The item cache stores the corresponding repository items.
Cache Modes:For example possible values are:
we can set <item-descriptor name="xyz" cache-mode="simple/disabled/inherit/locked/distributed/distributedJMS/distributedHybrid">....
simple caching handles caches in each server/VM locally; no attempt is made to synchronize updates across multiple server instances.
disabled is used when you dont want any caching on your repository and want your application to pick data everytime from your repository, like inventory to insure that inventory data is always up to date across server instances.
inherit is used when our item-descriptor have any super item-descriptor [as per concept of item descriptor inheritance], in this case our item descriptriptor use the cache mode of super item-descriptor.
locked caching uses read and write locks to synchronize access to items stored by multiple caches, so that only one VM should update cache at a time.
( distributed )Distributed TCP caching uses TCP to broadcast cache invalidation events (cache invalidation event means event to update cache data) to all servers in a cluster(group of servers).
( distributedJMS )Distributed JMS caching uses JMS to broadcast cache invalidation events to all servers in a cluster.
( distributedHybrid )Distributed hybrid caching uses TCP to send cache invalidation events only to those servers that are known to cache the target items. Hense all server's cache data of item-descriptor not going to update.
Note: Item descriptors within an inheritance tree share the same item cache. Queries that include derived item properties are never cached. Default caching mode is simple.