1. A method of removing an object from a first cache, wherein each object in the first cache is associated with a reference in a second cache, the method comprising: associating each reference in the second cache with a timer; locking a subset of the second cache; determining those references in the locked subset of the second cache that have associated timers that have timed out; removing any such reference from the second cache; and deleting any objects from the first cache that do not have an associated reference in the second cache; wherein the objects in the first cache belong to different classes of objects, each class corresponding to a particular type of Storage Area Network component, and the method comprises: organizing the references in the second cache according to the class of their respective associated object in the first cache.