def put(self, key, data):
        """Implementation of :meth:`~simplekv.KeyValueStore.put`.

        Will store the value in the backing store. After a successful or
        unsuccessful store, the cache will be invalidated by deleting the key
        from it.
        """
        try:
            return self._dstore.put(key, data)
        finally:
            self.cache.delete(key)
Implementation of :meth:`~simplekv.KeyValueStore.put`.

        Will store the value in the backing store. After a successful or
        unsuccessful store, the cache will be invalidated by deleting the key
        from it.