我一直在思考上使用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
变量在我的资源?
有几种解决方案:
- 本地或全球注册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
将在您的应用程序之前启动。
螺纹钢是你的朋友建立和释放产生( 这里更多信息 )。 螺纹钢一种替代方法是新安其描述在本文中 。