Riak的介绍,网上一艘一大堆,但怎么用?看看github上Riak的readme,看得懂,实际写,茫然。
github是个好东西,在github上搜riakc_pb_socket:start_link (这半行代码的意思,就不需要说了吧),选择语言Erlang,并search for code,看那个顺眼,点开看看。呵,找到一个https://github.com/matteoredaelli/ebot/blob/master/src/ebot_db_util.erl ,去看看在哪里用了Riak,
open_or_create_db() ->
{ok, Hostname} = ebot_util:get_env(db_hostname),
{ok, Port} = ebot_util:get_env(db_port),
case ?EBOT_DB_BACKEND of
ebot_db_backend_couchdb ->
application:start(ibrowse),
application:start(couchbeam),
Prefix = "",
Options = [],
Conn = couchbeam:server_connection(Hostname, Port, Prefix, Options),
case couchbeam:server_info(Conn) of
{ok, _Version} ->
couchbeam:open_or_create_db(Conn, "ebot", []);
Else ->
error_logger:error_report({?MODULE, ?LINE, {init, cannot_connect_to_db, ?EBOT_DB_BACKEND, Else}}),
Else
end;
ebot_db_backend_riak_pb ->
riakc_pb_socket:start_link(Hostname, Port);
_Else ->
error_logger:error_report({?MODULE, ?LINE, {init, unsupported_backend, ?EBOT_DB_BACKEND}}),
{error, unsupported_backend}
end.
细看之下,发现这丫的用gen_server封装了Riak的各种操作,比较爽,拿来用用:
1、确定封装方案
gen_server state记录字段,pid :Riak连接之后,会生成一个Pid,后续的各种操作将会使用这个参数,因此需要保存在State record中。
2、init
初始化,需要做的事情,A,连接Riak,B,将Pid保存在State中
3、各种操作
这个时候看Riak用户手册就行了。
分享到:
相关推荐
Riak 测试核心 这是 basho 的 Riak Test 的一个分支,将其从应用程序重构为库,并从文件中删除 riak_kv 的直接依赖项/目标,使其更通用。 也就是说,原始代码几乎没有更改,请参阅下面的原始自述文件。 Riak测试 ...
riak_core_tutorial目录 3.4. 5.7.8.10.1112.环境要跳过设置环境,已经为本教程准备了一个环境: riak_core_env 。 在接下来的章节中,我假设您已运行环境并在链接中提到的RIAK_CORE_ENV/synced/目录中完成所有工作...
里亚克乐团实验通过riak_ensemble_demo.app.src配置: data_root:集成状态保存到的文件的路径(将附加节点名) 节点:将尝试自动加入的节点列表仅当大多数已配置节点在线并且正在运行该应用程序时,才会形成集群。...
使用Riak作为后端的服务器监视 该项目是我的学士学位工作的一部分: “ NoSQL数据库和应用程序的比较分析” 米兰比可卡大学 关联者:安德烈·毛里诺(Andrea Maurino) 联合主持人:Blerina Spahiu 讲解 先决条件 ...
riak_pg, 带riak_core的分布式进程组 概述带riak_core的分布式进程组。用法将进程加入组( 不需要预先声明)join(term(), pid()) -> ok | {error, timeout}.如何删除?leave
linux riak erlang,otp_src_20.3
riak_governor “什么是领导者的集合?一个 riak_governor。... 当riak_governor:is_leader/1,2 ,创建 preflist,然后从这个 preflist 中提取唯一节点,并询问有关领导者的适当集成。 如何构建它 make dep
如果你想宣布什么,或者你对操作有意见,请使用Pull Request。开放式问题-新闻介绍源码层面的基本解释(有兴趣请随时pull request) 横纲乌贼安全调整环大小分页 2i node_package, leveldb riak_core环/ vnode管理...
一些分析Riak性能的工具和实验。
尽管此存储库中的某些部分可能是通用的,但它并不是真正供一般使用的对象,尤其是收集的插件,用于从Riak生成统计信息并将其分发到收集器中,如下所述。收集插件该存储库包含一个用于收集的服务的简单Python插件,...
current riak-1.4.12 riak-2.0.2 riak-2.0.4 riak-2.0.6 在每个目录中都有一个dev文件夹,通常使用您的常规make [stage]devrel 。 那么,如何从此沙盒开始填充呢? 您将创建另一个目录,其中将包含适用于您平台的...
该库假定您的项目具有riak_core和cowboy 1.x作为依赖项,我们在此处未列出它们以避免版本不匹配。 用 将依赖项添加到您的rebar.config文件中。 钢筋: { rcs_cowboy , " .* " , { git , " git://github....
里亚克核心 Riak Core是分布式系统框架,是分发数据和扩展规模的基础。 更一般而言,可以将其视为构建分布式,可伸缩,容错应用程序的工具包。 对于Riak Core的一些介绍性阅读(这不是纯粹的代码), 有一个古老但...
riak_zabbix 用于Riak的Zabbix插件 #####包含: userparameter_riak.conf ...* * * * * /usr/sbin/riak-admin status > /var/lib/riak/riak-admin_status.new && mv /var/lib/riak/riak-admin_status.
#Note master 尝试跟随 php_riak master,因此如果您使用 pecl 安装 php_riak,您应该选择与您的 php_riak 版本匹配的 git 标签,这非常重要,因为 api 正在发生很大变化。 #Status 应该都不错
学习使用Riak
riak-ruby-client, 用于 ruby的Riak客户端 ) 客户端( Riak客户机)riak-client 是一个富 ruby 客户端/工具箱,分布在,数据库中,包含典型操作的基本包装。在 http://basho.github.io/riak-ruby-client/ 可以使用详尽...
最细的Riak(Erlang)书 一本简单的书,介绍了Riak和Erlang之间的关系。 目标 从Erlang内部对Riak进行内省和调试的简介。
Laravel开发-laravel-riak RIAK连接、缓存和会话的RIAK提供程序
RiakTasks 用于开发和测试环境的简单 riak 集群引导和管理 最初移植自 要求 长生不老药 1.0+ OSX(目前仅适用于 OSX,但可以通过将riak_download_url指向特定于您平台的预编译包来支持其他... ./dev1/bin/riak start