首页 > 数据库技术 > 详细

ssdb binlog机制 存疑

时间:2016-04-10 12:42:45      阅读:190      评论:0      收藏:0      [点我收藏+]
int BinlogQueue::del_range(uint64_t start, uint64_t end){
    while(start <= end){
        leveldb::WriteBatch batch;
        for(int count = 0; start <= end && count < 1000; start++, count++){
            batch.Delete(encode_seq_key(start));
        }
//这里会实际删除数据库的数据,但是del_range会在binlog定期清理函数中调用

//问题:log_clean_thread_func的定位应该是清理min/last seq ,维护一个范围而已,为何要实际删除数据呢?况且,set的kv值,在commit时候,实际写入了db了(然后清理log时候再给删除)?实在不明白!

        leveldb::Status s = db->Write(leveldb::WriteOptions(), &batch);
        if(!s.ok()){
            return -1;
        }
    }
    return 0;
}

  

ssdb binlog机制 存疑

原文:http://www.cnblogs.com/zhaoyl/p/5373736.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!