<!DOCTYPE html><html><head><meta charset="utf-8" /> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <meta name="description" content="" /><meta name="author" content="Maxim Sokhatsky" /> <title>KVS</title> <link rel="stylesheet" href="https://n2o.dev/blank.css" /> <link rel="stylesheet" href="https://n2o.dev/zima.css" /> </head><body><nav> <a href="https://n2o.dev">DEV</a> <a href="https://kvs.n2o.dev" style="background:#ededed;">KVS</a> <div class="dropdown"> <a onclick="drop()" class="dropbtn">EN</a> <div id="dropdown" class="dropdown-content"> <a href="https://n2o.dev/deps/kvs/man/ua/index.html">UA</a> <a href="#">EN</a> </div> </div> </nav><header> <a href="https://github.com/synrc/kvs"><img src="https://openmoji.org/data/color/svg/1F4BF.svg"/></a> <h1>KVS</h1> </header><aside> <article> <section> <h3>SYNOPSIS</h3> <div>KVS is the light version of client interface on top of BTREE database abstractions strive to support the basic features: </div> <div> <ul><li>Polymorphic tuples aka extensible records;</li><li>Basic schema for chain storage;</li><li>Backends: MNESIA, FS, ROCKS;</li><li>Extremely compact and battle-tested: 500 LOC.</li></ul> </div> <div>This is an essence and fruit of KVS; the abstract term interface with naive yet productive stream implementation. Useful for simple blockchains, messaging, storage, processing systems, and banking industry. KVS is used in BPE and BANK applications.</div><br/> <figure> <code> $ mad get kvs && cd kvs $ mad com pla rep > kvs:join().</code> </figure> </section> <section> <h3>MODULES</h3> <div><ul><li><a href="man/kvs.htm">KVS</a></li><li><a href="man/kvs_stream.htm">STREAM</a></li><li><a href="man/kvs_fs.htm">FS</a></li><li><a href="man/kvs_mnesia.htm">MNESIA</a></li><li><a href="man/kvs_rocks.htm">ROCKS</a></li><li><a href="man/kvs_st.htm">ST</a></li></ul></div> <br /> <div> APR 2019 © <a href="https://github.com/5HT">5HT</a> ISC<br /> VER 6.6 6.5 6.4 </div> </section> <section> </section> </article> </aside><main> <section> <h3>SESSION</h3> <figure><code> > kvs:join(). ok > kvs:check(). ok > kvs:all(reader). [{reader,1555175169121817000,0,[],[], {list,1555175169120161000}, 0}, {reader,1555175169121249000,0,[],[], {list,1555175169120161000}, 0}] > rr(kvs). [emails,id_seq,iter,kvs,reader,schema,table,writer] > kvs:save(kvs:reader({list,1555175169120161000})). #reader{id = 1555175244188986000,pos = 0, cache = {emails,1555175169122304000}, args = [], feed = {list,1555175169120161000}, dir = 0} > kvs:take(kvs:bot((kvs:load_reader(1555175244188986000))#reader{args=-1})). #reader{id = 1555175244188986000,pos = 5, cache = {emails,1555175169127279000}, args = [#emails{id = 1555175169127279000,next = [], prev = 1555175169126314000,email = []}, #emails{id = 1555175169126314000,next = 1555175169127279000, prev = 1555175169125227000,email = []}, #emails{id = 1555175169125227000,next = 1555175169126314000, prev = 1555175169123405000,email = []}, #emails{id = 1555175169123405000,next = 1555175169125227000, prev = 1555175169122304000,email = []}, #emails{id = 1555175169122304000,next = 1555175169123405000, prev = [],email = []}], feed = {list,1555175169120161000}, dir = 0} </code></figure> </section> <section> <a name="plugin"></a><h3>CONTRIBUTORS</h3> <div> <ul><li><a href="https://github.com/5HT">5HT</a> — Namdak Tonpa</li><li><a href="https://github.com/proger">proger</a> — Vlad Ki</li><li><a href="https://github.com/doxtop">doxtop</a> — Andrii Zadorozhnii</li><li><a href="https://github.com/cryoflamer">cryoflamer</a> — Yuri Maslovsky</li><li><a href="https://github.com/qomputer">qomputer</a> — Igor Kharin</li></ul></div> <br /><br /> </section> </main><footer> Made with <span class="heart">❤</span> to N2O </footer> <script>function drop(){document.getElementById("dropdown").classList.toggle("show");}</script> </body></html>