def get(self, key, default):
path = self._getvaluepath(key)<EOL>try:<EOL><INDENT>with path.open("<STR_LIT:r>") as f:<EOL><INDENT>return json.load(f)<EOL><DEDENT><DEDENT>except (ValueError, IOError, OSError):<EOL><INDENT>return default<EOL><DEDENT>
return cached value for the given key.  If no value
        was yet cached or the value cannot be read, the specified
        default is returned.

        :param key: must be a ``/`` separated value. Usually the first
             name is the name of your plugin or your application.
        :param default: must be provided in case of a cache-miss or
             invalid cache values.