Skip to content

Instantly share code, notes, and snippets.

@lixen
Created July 28, 2014 15:55
Show Gist options
  • Save lixen/26293b8f8f4656b41eb0 to your computer and use it in GitHub Desktop.
Save lixen/26293b8f8f4656b41eb0 to your computer and use it in GitHub Desktop.
Simple description on Register in Maps.
riak-admin bucket-type create maps '{"props":{"datatype":"map"}}'
riak-admin bucket-type activate maps
More information
http://docs.basho.com/riak/2.0.0/dev/using/data-types/#Maps
Reading = riakc_map:new().
Reading1 = riakc_map:update({<<"ReaderName322323">>, register}, fun(R) -> riakc_register:set(<<0,0,31,64>>, R) end, Reading).
Reading2 = riakc_map:new().
Reading3 = riakc_map:update({<<"ReaderName5555">>, register}, fun(R) -> riakc_register:set(<<0,0,31,65>>, R) end, Reading2).
Start connection to riak.
{ok, Pid} = riakc_pb_socket:start("localhost", 8087).
Write to riak.
{Bucket Type, Bucket}
riakc_pb_socket:update_type(Pid,{<<"maps">>, <<"maps">>}, <<"AccountName">>, riakc_map:to_op(Reading1)).
riakc_pb_socket:update_type(Pid,{<<"maps">>, <<"maps">>}, <<"AccountName">>, riakc_map:to_op(Reading3)).
Get result from riak.
{ok, Results} = riakc_pb_socket:fetch_type(Pid, {<<"maps">>, <<"maps">>}, <<"AccountName">>).
{ok,{map,[{{<<"ReaderName322323">>,register},<<0,0,31,64>>},
{{<<"ReaderName5555">>,register},<<0,0,31,65>>}],
[],[],
<<131,108,0,0,0,2,104,2,109,0,0,0,8,191,234,133,31,83,
206,54,132,97,...>>}}
riakc_map:fetch({<<"ReaderName322323">>, register}, Results).
<<0,0,31,64>>
riakc_map:fetch({<<"ReaderName5555">>, register}, Results).
<<0,0,31,65>>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment