Ledis

Latest version: v0.0.1

Safety actively analyzes 683480 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

127.0.0.16380

"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](https://github.com/siddontang/ledisdb/wiki/Benchmark) for more.

Todo

See [Issues todo](https://github.com/siddontang/ledisdb/issues?labels=todo&page=1&state=open)

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.

0.5

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

Cluster

You can use [xcodis](https://github.com/siddontang/xcodis) + [redis-failover](https://github.com/siddontang/redis-failover) + [LedisDB](https://github.com/siddontang/ledisdb) to build up a distributed high availability key-value store, see [here](https://medium.com/siddontang/build-up-a-high-availability-distributed-key-value-store-b4e02bc46e9e).

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.

0.4

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](https://github.com/tools/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.

0.3

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.

0.2

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

0.1

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.

Links

Releases

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.