code: def get(self, key):
          
          try:
              return self.cache.get(key)
          except KeyError:
              # cache miss or error, retrieve from backend
              data = self._dstore.get(key)
  
              # store in cache and return
              self.cache.put(key, data)
              return data
          except IOError:
              # cache error, ignore completely and return from backend
              return self._dstore.get(key)
docs: Implementation of :meth:`~simplekv.KeyValueStore.get`.
  
          If a cache miss occurs, the value is retrieved, stored in the cache and
          returned.
  
          If the cache raises an :exc:`~exceptions.IOError`, the cache is
          ignored, and the backing store is consulted directly.
  
          It is possible for a caching error to occur while attempting to store
          the value in the cache. It will not be handled as well.