MeWrite Docs

Redis: Connection refused

Redis接続エラーの解決方法

概要

Redisサーバーへの接続が拒否された場合に発生するエラーです。

エラーメッセージ

Error: Redis connection to localhost:6379 failed - connect ECONNREFUSED 127.0.0.1:6379

原因

  1. Redisが起動していない: サービスが停止
  2. ポートの不一致: 設定されたポートが異なる
  3. バインドアドレス: localhostのみにバインド
  4. ファイアウォール: ポートがブロック

解決策

1. Redisサービスの確認

1
2
3
4
5
6
7
8
# 状態確認
sudo systemctl status redis

# 起動
sudo systemctl start redis

# 接続テスト
redis-cli ping

2. 設定ファイルの確認

1
2
3
4
# /etc/redis/redis.conf
bind 127.0.0.1 ::1
port 6379
protected-mode yes

3. Docker Composeでの設定

1
2
3
4
5
services:
  redis:
    image: redis:alpine
    ports:
      - "6379:6379"

4. Node.jsでの接続

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
const Redis = require('ioredis');

const redis = new Redis({
  host: process.env.REDIS_HOST || 'localhost',
  port: process.env.REDIS_PORT || 6379,
  retryDelayOnFailover: 100,
  maxRetriesPerRequest: 3
});

redis.on('error', (err) => {
  console.error('Redis error:', err);
});

よくある間違い

  • DockerでlocalhostではなくサービスにL使用
  • protected-modeを考慮しない

Redis の他のエラー

最終更新: 2025-12-09