怎样才能让Webmachine和eredis一起工作?(How can I make Webmach

2019-08-01 11:20发布

我一直在思考上使用Redis的在我的一个星期Webmachine应用程序的问题。 而且我还没有开悟。

我将使用Eredis这里是使用的例子:

{ok, Con} = eredis:start_link().

{ok, <<"OK">>} = eredis:q(Con, ["SET", "foo", "bar"]).
{ok, <<"bar">>} = eredis:q(Con, ["GET", "foo"]).

据我了解eredis:start_link()应该被称为地方只有一次。 但我怎么能得到Con变量在我的资源?

Answer 1:

有几种解决方案:

  • 本地或全球注册redis的连接
  • 使用过程寄存器等GPROC
  • 守在webmachine资源环境的连接的PID
  • 使用连接池像池进程或poolboy
  • 如果你不想排队池中的请求dispcount能适应

编辑:误解的问题,下面第一个答案:

Webmachine和eredis都二郎山下的OTP原理的应用 。 如果你的应用是OTP符合你可以eredis添加到applications在你.app文件,如下所示:

{application, awesome_app, [
    {description, "My awesome app."},
    {vsn, "0.0.1"},
    {modules, []},
    {registered, []},
    {applications, [kernel, stdlib, 
                    eredis, 
                    webmachine]}
]}.

OTP符合应用程序使用的版本 。 您创建一个发布和启动应用程序后,在应用程序applications将在您的应用程序之前启动。

螺纹钢是你的朋友建立和释放产生( 这里更多信息 )。 螺纹钢一种替代方法是新安其描述在本文中 。



文章来源: How can I make Webmachine and eredis work together?