def __getitem__(self, key):
value, last_time = dict.__getitem__(self, key)
now = time()
if self._max_age and now - last_time > self._max_age:
del self[key]
raise KeyError(key)
else:
return value