'Remove an item from the cache dict.
Raise an `KeyError` if it does not exist.'

def __delitem__(self, key):

    self._wlock.acquire()
    try:
        del self._mapping[key]
        try:
            self._remove(key)
        except ValueError:
            pass
    finally:
        self._wlock.release()
