使用eredis:q查询如果没查询到和查询到执行不同分支,用Erlang代码写一个
时间: 2024-03-17 18:42:31 浏览: 82
好的,以下是使用 eredis:q 查询 Redis 数据库并根据查询结果执行不同分支的 Erlang 代码示例:
```erlang
-module(redis_query).
-export([query/1]).
query(Key) ->
case eredis:q(["GET", Key]) of
{ok, Value} ->
case Value of
undefined ->
io:format("Key not found.~n");
_ ->
io:format("Value: ~p~n", [Value])
end;
{error, Reason} ->
io:format("Error: ~p~n", [Reason])
end.
```
在这个例子中,我们定义了一个名为 redis_query 的模块,其中包含一个 query 函数,该函数接受一个 Redis 键值作为参数。
在 query 函数中,我们使用 eredis:q 函数来查询 Redis 数据库中的值。如果查询成功,我们将检查返回的值是否为 undefined。如果是 undefined,我们将输出“Key not found.”;否则,我们将输出查询到的值。如果查询失败,我们将输出错误信息。
需要注意的是,在 Erlang 中,我们可以使用 case 语句来根据查询结果执行不同分支。如果 eredis:q 函数返回 {ok, Value},表示查询成功,我们将进入 case Value of 分支,检查查询到的值是否为 undefined。如果 eredis:q 函数返回 {error, Reason},表示查询失败,我们将进入 {error, Reason} 分支,输出错误信息。
另外,需要在运行代码之前确保已经成功连接 Redis 数据库。可以使用 eredis:start_link 函数来启动 eredis 应用,并使用 eredis:connect 函数来连接 Redis 数据库。
阅读全文