All Versions
6
Latest Version
0.6
Avg Release Cycle
245 days
Latest Release
657 days ago

Changelog History

  • v0.6

    November 28, 2017

    There are lots of changes since v0.5, Thanks again for all of you.

  • v0.5

    April 09, 2015

    🚀 It takes a long time to release this version 0.5, with lots of changes and work for cluster.

    Cluster

    🏗 You can use xcodis + redis-failover + LedisDB to build up a distributed high availability key-value store, see here.

    ➕ Added Feature

    • 👌 Support large db index, you can change the databases configuration.
    • ➕ Add xlsort, xssort and xzsort command.
    • ➕ Add xscan, xhscan, xsscan and xzscan command.
    • ➕ Add append, bitcount, bitpos, bitop, getbit, getrange, setbit, setrange, strlen commands in KV type,
    • ➕ Add xdump and restore command.
    • 👌 Support XSELECT db THEN command to let select db and do command at same time.

    ✂ Removed Feature

    • Transaction, it's not used and I haven't heard any other people use it too. At the same time, this feature causes code ugly and not maintainable.
    • ✂ Remove bitmap data structure, supply bit operations in KV type.
    • ✂ Remove some unnecessary scan commands.
  • v0.4

    November 23, 2014

    This version is gone on way for a long time but has lots of changes and optimizations. Hope you can enjoy it.

    Caveat

    • ⬆️ You must run ledis-upgrade-ttl to upgrade db data, I fixed a serious bug for TTL which may cause CPU 100%.
    • 🐎 Replication is refactored for performance, old binlog data will not be used, you may start a new full replication.

    ➕ Added feature

    • 🏗 Godep support. if godep is installed, bootstrap and make use will godep to build LedisDB.
    • 🐎 Strong Consensus replication support, it may hit performance and degrade to async replication in some conditions.
    • 🔧 Many RocksDB configurations support, you can tune LedisDB + RocksDB by yourself.
    • 👍 Lua Support, like Redis lua using but with a little limitation.
    • 👍 BLPOP, BRPOP, SETEX, CONFIG REWRITE support.
  • v0.3

    August 28, 2014

    🐎 LedisDB is a high performance NoSQL, which can be used for many scenarios like message push, statistics, cache, etc. It supplies Redis like API so you can use it easily or even instead of Redis. It also can be embedded in your own Go application.

    ➕ Added Feature

    • 👌 Support transaction begin, commit and rollback, using LMDB or BoltDB.
    • 👌 Support Set data structure.
    • ➕ Add some API like zunionstore, zinterstore, info, etc.

    🛠 Bugfix

    • 🛠 Fix bitmap meta key encoding error.
  • v0.2

    August 05, 2014

    🐎 LedisDB is a high performance NoSQL like Redis, may be an alternative for Redis.

    👍 LedisDB supports some awesome features, below:

    • Rich advanced data structure: KV, List, Hash, ZSet, Bitmap.
    • Stores lots of data, over the memory limit.
    • Various backend database to use: LevelDB, goleveldb, LMDB, RocksDB, BoltDB.
    • 👌 Supports expiration and ttl.
    • 👍 Redis clients, like redis-cli, are supported directly.
    • 👍 Multi client API supports, including Go, Python, Lua(Openresty), Node.js.
    • Easy to embed in Go application.
    • 👍 Restful API support, json/bson/msgpack output.
    • Replication to guarantee data safe.
    • Supplies tools to load, dump, repair database.
    • 🐧 Linux, Mac OSX, Windows support.

    Server Example

    ledis-server -config=/etc/ledis.json
    
    //another shell
    ledis-cli -p 6380
    
    ledis 127.0.0.1:6380> set a 1
    OK
    ledis 127.0.0.1:6380> get a
    "1"
    
    //use curl
    curl http://127.0.0.1:11181/SET/hello/world
    → {"SET":[true,"OK"]}
    
    curl http://127.0.0.1:11181/0/GET/hello?type=json
    → {"GET":"world"}
    

    📦 Package Example

    import "github.com/siddontang/ledisdb/ledis"
    l, _ := ledis.Open(cfg)
    db, _ := l.Select(0)
    
    db.Set(key, value)
    
    db.Get(key)
    

    Benchmark

    👀 See benchmark for more.

    Todo

    👀 See Issues todo

    🔔 Notice

    LedisDB now change the database saved path, it will save data to data_dir/leveldb for LevelDB, data_dir/lmdb for LMDB, and same for others.

    So if you used LevelDB before, you must move old data_dir/data to data_dir/leveldb by hand.

  • v0.1

    July 24, 2014

    🔋 Features:

    • Rich advanced data structure: KV, List, Hash, ZSet, Bitmap.
    • Stores lots of data, over the memory limit.
    • 👌 Supports expiration and ttl.
    • 👍 Redis clients, like redis-cli, are supported directly.
    • 👍 Multi client API supports, including Go, Python, Lua(Openresty).
    • Easy to embed in Go application.
    • Replication to guarantee data safe.
    • Supplies tools to load, dump, repair database.