High performance key value database with useful json document indexing and manipulations.

Welcome to the Escanor
Escanor is a high performance database with sled as the persistence layer and implement the redis protocol with useful additions for json data manipulations. This is a side project with the vision of making it into a major project any contributors are welcome.
Features
- High Performance
- Non Blocking Key-Value
- Asynchronous Server
- Support for Json Document Manipulations
- Works with Redis Clients and Libraries
- Client Cli included.
Download
Download the latest release from the release page, binaries are available for Windows, Mac and Linux.Install
Installation instructions are available in the wiki pageCommands
Supported commands: `randomkey,info,dbsize,bgsave,auth,lastsave,persist,expire,expireat,set,get,getset,del,get,ttl,geoadd,geodel,georem,georadius,georadiusbymember
,geohash,geojson,jsetr,jset,jget,jpath,jmerge,jincrby
checkout the wiki page on how to use these commands
WIKI PAGE
Run
<pre><code class="lang-shell">script git clone https://github.com/mambisi/escanor.git</code></pre> <pre><code class="lang-shell">script cd escanor</code></pre> <pre><code class="lang-shell">script cargo run --bin escanor-server</code></pre> <pre><code class="lang-shell">script cargo run --bin escanor-cli</code></pre>
0.1.5 Features
New cli with pretty formatted json and colored json output

New Commands
- RANDOMKEY
- INFO
- DBSIZE
- AUTH
- LASTSAVE
- PERSIST
- EXPIRE
- EXPIREAT
- GETSET
- TTL
- JINCRBY
- JSETR
Changes
JSETR now set raw json <pre><code class="lang-bash">JSETR user.0
{"name" : "escanor"}` JSET is used for builder style json creation making it easier to create json form the command line
Example :
{ "name" : "escanor", "todos" : [ { "item" : "Wash", "completed" : false }, { "item" : "Code", "completed" : false } ] } Can dynamical be built with JSET JSET user name "escanor" todos.+.item "Wash" todos.>.completed false todos.+.item "Code" todos.>.completed false JSET can be used to change json even inner array JSET user todos.1.completed true
JGET
JGET user outputs { "name" : "escanor", "todos" : [ { "item" : "Wash", "completed" : false }, { "item" : "Code", "completed" : true } ] }
JGET can be used to select specific part of a json object
JGET user todos outputs [ { "item" : "Wash", "completed" : false }, { "item" : "Code", "completed" : true } ]