def METHOD_NAME(self, key, value, timeout=DEFAULT_TIMEOUT, version=None):
    key = self.make_key(key, version=version)
    self.validate_key(key)
    pickled = pickle.dumps(value, pickle.HIGHEST_PROTOCOL)
    with self._lock:
        if self._has_expired(key):
            self._set(key, pickled, timeout)
            return True
        return False