def load(cls, cache_key, deserializer, key_attr):
        """
        Load the persisted cache and return a new instance of this class.
        """
        items = unitdata.kv().get(cache_key) or []
        return cls(cache_key,
                   [deserializer(item) for item in items],
                   key_attr)