redisConnectOptions
const redisConnectOptions: RedisConnectOptions = {
hostname: "redis://redis-stack",
port: 6379,
};
docker-compose.yml
redis-stack:
image: redis/redis-stack:latest
container_name: redis-stack
ports:
- "6379:6379"
- "6380:8001"
networks:
- my-network
docker log
2024-05-19 18:53:04 error: Uncaught (in promise) Error: failed to lookup address information: Name or service not known
2024-05-19 18:53:04 : await Deno.connect(dialOpts);
2024-05-19 18:53:04 ^
2024-05-19 18:53:04 at async Object.connect (ext:deno_net/01_net.js:587:55)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:190:11)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
2024-05-19 18:53:04 at async RedisConnection.#connect (https://deno.land/x/redis@v0.32.0/connection.ts:222:7)
错误信息表明在尝试连接到名为
redis://redis-stack
的 Redis 服务器时发生了 DNS 解析错误,即“Name or service not known”。这通常意味着客户端无法将主机名redis://redis-stack
解析为 IP 地址。问题出在
redisConnectOptions
的hostname
字段上。hostname
应该只包含Redis
服务器的名称或 IP 地址,而不是包含协议前缀(如redis://
)。修改后的
redisConnectOptions
应该是这样的: