def main(): parser = argparse.ArgumentParser() parser.add_argument('--dir', help='dredis data directory', required=True) parser.add_argument('--backend', choices=['lmdb', 'leveldb'], help='output file type', required=True) args = parser.parse_args() DB_MANAGER.setup_dbs(args.dir, args.backend, {}) revert_collections_to_dredis_2_5_3_format()
def test_delete(): tempdir = tempfile.mkdtemp(prefix="redis-test-") DB_MANAGER.setup_dbs(tempdir, backend='leveldb', backend_options={}) keyspace = Keyspace() keyspace.select('0') keyspace.set('mystr', 'test') keyspace.sadd('myset', 'elem1') keyspace.zadd('myzset', 0, 'elem1') keyspace.hset('myhash', 'testkey', 'testvalue') keyspace.delete('mystr', 'myset', 'myzset', 'myhash', 'notfound') assert list(DB_MANAGER.get_db('0').iterator()) == []
def revert_collections_to_dredis_2_5_3_format(): for db_id in range(NUMBER_OF_REDIS_DATABASES): db = DB_MANAGER.get_db(db_id) for key_prefix in [ KEY_CODEC.SET_TYPE, KEY_CODEC.HASH_TYPE, KEY_CODEC.ZSET_TYPE, ]: with db.write_batch() as batch: _convert(db, batch, chr(key_prefix))
def flushdb(self): DB_MANAGER.delete_db(self._current_db)
def flushall(self): DB_MANAGER.delete_dbs()
def _db(self): return DB_MANAGER.get_db(self._current_db)
def collect(self): for db_id in range(NUMBER_OF_REDIS_DATABASES): with DB_MANAGER.thread_lock: self._collect(DB_MANAGER.get_db(db_id))
def keyspace(): DB_MANAGER.setup_dbs('', backend='memory', backend_options={}) original_configs = config.get_all('*') yield Keyspace() for option, value in zip(original_configs[0::2], original_configs[1::2]): config.set(option, value)