Skip to content

Lol4t0/relliptics

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

relliptics

Erlang binding for elliptics

##Usage

###Launck

Specify LD_LIBRARY_PATH to elliptics. For example, LD_LIBRARY_PATH=../priv erl

###Connection

{ok, DB} = relliptics:open([Options])

####Options

  • nodes

{nodes, [<<"node1">>, {<<"node2">>, port2}, <<"node3">>]} - nodes to connect. Default [<<"localhost">>, 1025]

  • log_path

{log_path <<"/dev/null">>} - where to write logs. Default {log_path <<"/dev/stderr">>}

  • namespace

{namespace, <<"ns">>} - namespace for keys. Deafult is empty (not set)

  • nodes

{nodes, [0, 1, 2]} - list of elliptics nodes. Deafult is {nodes, [0]}

##Relliptics objects

  • create

Obj = relliptics:make_object(Key::binary(), Value::term()) Obj = relliptics:make_object(Key, Value, [Index1::binary(), Index2]

  • update
  Upd = relliptics:set_key(Obj, Key)
  Upd = relliptics:set_value(Obj, Value)
  Upd = relliptics:set_indexes(Obj, [Index11, Index22])
  • query
  Key = relliptics:get_key(Obj)
  Value = relliptics:get_value(Obj)
  Indexes = relliptics:get_indexes(Obj)

##Write

  {ok, [UpdObject]} = relliptics:write(DB, [Object])

##Read

  • by keys

      Acc = relliptics:fold(DB, Fun, Acc0, Keys)
      Fun(Obj::relliptics_objec(), Acc) -> Acc
    
  • by indexes

      Acc = relliptics:fold_indexes(DB, Strategy, Fun, Acc0, Indexes)
    

    Startegy:: any - return objects that have any of indexes specified. all - return objects that have all indexes specifies.

About

Erlang binding for elliptics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published