你写一个在一个函数中创建redis连接,在另一个函数中使用这个连接的Erlang代码
时间: 2024-03-17 09:39:55 浏览: 60
下面是一个在一个函数中创建Redis连接,在另一个函数中使用该连接的Erlang代码示例:
```
-module(redis_demo).
-export([start/0, put/1, get/0]).
% 启动应用时创建 Redis 连接
start() ->
{ok, Conn} = eredis:start_link(),
{ok, Conn}.
% 在 put 函数中使用 Redis 连接,将 Pid 存储到 Redis 中
put(Pid) ->
{ok, Conn} = redis_demo:start(),
eredis:q([<<"SET">>, <<"Pid">>, Pid], Conn),
ok.
% 在 get 函数中使用 Redis 连接,从 Redis 中读取 Pid
get() ->
{ok, Conn} = redis_demo:start(),
{ok, Pid} = eredis:q([<<"GET">>, <<"Pid">>], Conn),
Pid.
```
上述代码中,`start/0`函数在应用启动时创建Redis连接,并返回连接对象。`put/1`函数使用`redis_demo:start()`函数获取连接对象,并使用该连接对象将`Pid`值存储到Redis中。`get/0`函数同样使用`redis_demo:start()`函数获取连接对象,并使用该连接对象从Redis中读取`Pid`值。
需要注意的是,在实际应用中,为了避免创建过多的Redis连接对象,可以将连接对象存储在应用的状态中,并在需要使用连接时从状态中获取连接对象。同时,在使用完Redis连接后,需要及时关闭连接,以释放资源并避免连接泄露。
阅读全文