给我写一个Erlang代码,目的是向redis.config中写入redis的地址和端口以便读取
时间: 2024-03-17 14:44:01 浏览: 67
以下是一个简单的Erlang代码示例,用于将Redis的地址和端口写入`redis.config`文件中:
```erlang
%% 设置Redis的地址和端口
Address = "127.0.0.1",
Port = 6379,
%% 将Redis的地址和端口写入redis.config文件
{ok, File} = file:open("redis.config", [write]),
io:fwrite(File, "redis_host = ~s~n", [Address]),
io:fwrite(File, "redis_port = ~B~n", [Port]),
file:close(File).
```
上述代码首先设置了Redis的地址和端口,然后使用`file:open/2`函数打开`redis.config`文件,使用`io:fwrite/3`函数将地址和端口写入文件中,最后使用`file:close/1`函数关闭文件。
在redis.config文件中,你可以使用以下格式存储Redis的地址和端口:
```erlang
redis_host = 127.0.0.1
redis_port = 6379
```
然后,你可以使用类似下面的代码读取redis.config文件中的Redis地址和端口:
```erlang
{ok, ConfigBin} = file:read_file("redis.config"),
Config = string:tokens(binary_to_list(ConfigBin), "\n"),
{ok, RedisHost} = lists:keyfind("redis_host", 1, Config),
{ok, [_, HostValue]} = string:to_integer(string:tokens(RedisHost, "= ")),
{ok, RedisPort} = lists:keyfind("redis_port", 1, Config),
{ok, [_, PortValue]} = string:to_integer(string:tokens(RedisPort, "= ")),
{HostValue, PortValue}.
```
上述代码首先使用`file:read_file/1`函数读取`redis.config`文件中的数据,然后使用`string:tokens/2`函数将其分割成字符串列表。接着使用`lists:keyfind/3`函数查找Redis的地址和端口,并使用`string:to_integer/1`函数将其转换为整数。最后将Redis的地址和端口作为元组返回。
阅读全文