KVS

INTRO

This module is used to manage different KV backends to your cloud of Erlang apps. This is an unified abstraction layer to several databases: redis, mongo, mnesia, riak, aerospike.

  • dir/0 — table list.
  • ver/0 — KVS version.
  • seq/2 — generate new sequence id for table.
  • count/1 — records in table.
  • put/1 — put record using element 2 as key.
  • get/2 — get record by key from table.
  • delete/1 — delete record from table.
  • index/3 — index by field and its value.

You can change backend by setting application env. This behaves well on

application:set_env(kvs,dba,store_mnesia).

RECORDS

KVS CORE
#ok { data= [] :: term() }. #error { data= [] :: term() }. #cur { id= [] :: term(), top= [] :: [] | integer(), bot= [] :: [] | integer(), dir= 0 :: 0 | 1, reader= [] :: [] | tuple(), writer= [] :: [] | tuple(), left= 0 :: integer(), right= 0 :: inetegr() }. #iter { id= [] :: [] | integer(), prev= [] :: [] | integer(), next= [] :: [] | integer()).

CONFIG

In sys.config you should specify kvs backend and list of modules containing metainfo/0 exported function.

[{kvs, [{dba, store_mnesia}, {schema, [kvs]} ]}].

This module may refer to: mnesia, kvs_stream.