Only one GSAItem
can be kept in memory with the same ID. If the system maintains a reference to an item that has been removed from the cache, it would continue to use the item. When a new item with the same ID is created later, the repository can no longer synchronize all of the changes made. To prevent this, whenever an item is removed from the cache, it is added to a weak reference Hashtable. When an item is not found in the cache, the repository references this Hashtable. If the item is found, it is added back to the cache.
The weak cache stores items that have been removed from the cache, but have not yet been run through the garbage collection process. Entries in this table have been tagged as weak, indicating that they will be passed through the garbage collection process as soon as no further references are found for them.
The weak cache table contains the following data:
Property | Description |
---|---|
| Current number of weak cache entries and the number of cache hits that are found in the weak cache |
| The current number of weak misses that were found in the weak cache |
| The number of times that the weak item cache is cleared. This increases by 2 when you manually invoke the |
| The number of items that were culled from the weak item cache. This occurs when the weak item cache is cleared, with this number indicating how many items have been removed from the weak item cache. |
| The maximum number of weak item entries that were cleared. |