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()
Example #2
0
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))
Example #4
0
 def flushdb(self):
     DB_MANAGER.delete_db(self._current_db)
Example #5
0
 def flushall(self):
     DB_MANAGER.delete_dbs()
Example #6
0
 def _db(self):
     return DB_MANAGER.get_db(self._current_db)
Example #7
0
File: gc.py Project: Yipit/dredis
 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))
Example #8
0
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)