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 used 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 it 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 |
| Number of cache hits that are found in the weak cache |
| Number of times that the least recently used (LRU) list of the main cache was cleaned of entries that were both not recently used, and extended the maximum size of the LRU list |
| Maximum number of items that were culled from the LRU list of the main cache |
| Number of times the LRU list of the weak cache was cleaned from entries that were both not used recently, and extended the maximum size of the LRU list |
| Total number of items that were culled from the LRU list |
| The maximum number of items that were culled from the LRU list |