• cpyleveldb0.3.2发布


    概述

    首先leveldb是google开源的高性能k-v数据库(http://code.google.com/p/leveldb/),具有极高的读写效率和速度。

    而cpy-leveldb(https://github.com/forhappy/cpy-leveldb)是根据leveldb c api的基础上写的python 绑定,并且0.3.x系列版本重写了代码,由以前的单文件项目结构分为目前的多文件结构,代码简介高效速度快,并增加了一些测试集和文档。

    cpy-leveldb 0.3.2功能简介

    目前支持的功能除了leveldb的基本的Put,Get, Delete, Write, Property (读取leveldb数据库信息),GetApproximateSizes (获取leveldb对文件系统占有大小) 等操作外,还支持WriteBatch原子更新操作(Put, Delete,Clear),Snapshot创建快照(Set, Reset, Release),Iterator迭代器(First, Last, Next, Prev, Validate, Key, Value,GetError等操作)和0.3.x版本新增的任意键值的比较器Comparator(比较器Comparator暂时还不稳定,待进一步测试完善)。

    Roadmap

    1. 计划在下个版本中完善比较器Comparator,并增加迭代器Iterator回调函数的操作。
    2. 增加用户文档,目前文档还远远不够。
    3. 强化测试和优化,使代码更加高效强壮。

    Usage(创建快照Snapshot)

    import leveldb
    db
    = leveldb.LevelDB("/tmp/test-leveldb/")

    db.Put(
    "hello", "world")
    db.Put(
    "1", "111111")
    db.Put(
    "2", "222222")
    db.Put(
    "3", "333333")

    print"Creating snapshot."
    snap
    = leveldb.Snapshot(db)
    print"\n"

    print"Deleting key 1."
    db.Delete(
    "1")
    print"\n"

    print"Getting key 1."
    print db.Get("1")
    print"\n"

    print"Applying snapshot."
    snap.Set()
    print"\n"

    print"Getting key 1 again."
    print db.Get("1")
    print"\n"


    print"Resetting snapshot."
    snap.Reset()
    print"\n"


    print"Getting key 1 again."
    print db.Get("1")
    print"\n"

    print"O.K."

      


  • 相关阅读:
    HDU 1850 Being a Good Boy in Spring Festival
    UESTC 1080 空心矩阵
    HDU 2491 Priest John's Busiest Day
    UVALive 6181
    ZOJ 2674 Strange Limit
    UVA 12532 Interval Product
    UESTC 1237 质因子分解
    UESTC 1014 Shot
    xe5 android listbox的 TMetropolisUIListBoxItem
    xe5 android tts(Text To Speech)
  • 原文地址:https://www.cnblogs.com/haippy/p/2179750.html
Copyright © 2020-2023  润新知