不要每次都创建一个连接,我想要的是创建一个连接对象,每次查询使用这个连接对象查询
时间: 2024-03-17 13:39:59 浏览: 71
非常对,每次都创建一个新的Redis连接是不必要的,会增加系统开销,降低系统性能。正确的做法是在应用启时创建一个Redis连接对象,并在需要使用连接复用该连接对象。
下面是在应用启动时创建Redis连接对象,并在需要使用连接时复用该连接对象的Erlang代码示例:
```
-module(redis_demo).
-export([start/0, put/1, get/0.
% 创建 Redis 连接
start() ->
{ok, Conn} = eredis:start_link(),
Conn.
% 在 put 函数中使用 Redis 连接对象,将 Pid 存储到 Redis 中
put(Pid, Conn) ->
eredis:q([<<"SET">>, <<"Pid">>, Pid], Conn),
ok.
% 在 get 函数中使用 Redis 连接对象,从 Redis 中读取 Pid
get(Conn) ->
{ok, Pid} = eredis:q([<<"GET">>, <<"Pid">>], Conn),
Pid.
```
上述代码中,`start/0`函数在应用启动时创建Redis连接对象,并返回连接对象。`put/2`函数接收两个参数,第一个参数是要存储的`Pid`值,第二个参数是之前创建的Redis连接对象。`get/1`函数同样接收一个参数,即之前创建的Redis连接对象。
在实际使用中,可以在应用启动时调用`redis_demo:start()`函数创建Redis连接对象,并将其保存在应用的状态中。然后,在需要使用Redis连接的函数中,从应用状态中获取连接对象,并调用相应的Redis命令进行操作。需要注意的是,在使用完Redis连接后,需要及时关闭连接,以释放资源并避免连接泄露。
阅读全文