Skip to content

Releases: ledisdb/ledisdb

LedisDB Version 0.6

28 Nov 08:08
Compare
Choose a tag to compare

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

LedisDB Version 0.5

09 Apr 13:52
Compare
Choose a tag to compare

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.

LedisDB Version 0.4

23 Nov 02:59
Compare
Choose a tag to compare

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.

LedisDB version 0.3

28 Aug 00:57
Compare
Choose a tag to compare

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.

LedisDB version 0.2

05 Aug 06:35
Compare
Choose a tag to compare

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.

LedisDB version 0.1

24 Jul 07:34
Compare
Choose a tag to compare

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.