'Store a value in the option store. Value must get persisted to database first,
then attempt caches. If it fails database, the entire operation blows up.
If cache fails, we ignore silently since it\'ll get repaired later by sync_options.
A boolean is returned to indicate if the network cache was set successfully.'

def set(self, key, value):

    assert (self.cache is not None), 'cache    must    be    configured    before    mutating    options'
    self.set_store(key, value)
    return self.set_cache(key, value)
