Redis接続文字列のフォーマット

redis://またはrediss:// URI形式を使ったRedis接続文字列の構築方法。データベース選択、認証、TLS接続を解説します。

Redis

詳細な説明

Redis URIフォーマット

Redis接続文字列はredis://スキーム(TLS暗号化接続の場合はrediss://)を使用します:

redis://[user:password@]host[:port][/database]
rediss://[user:password@]host[:port][/database]

デフォルト値

パラメータ デフォルト
ホスト localhost
ポート 6379
データベース 0
ユーザー名 (なし)
パスワード (なし)

データベース番号

名前を使用するSQLデータベースとは異なり、Redisは0から15の番号付きデータベースを使用します(デフォルト設定)。データベース番号はパスコンポーネントとして指定します:

redis://localhost:6379/0   # デフォルトデータベース
redis://localhost:6379/1   # データベース1
redis://localhost:6379/5   # データベース5

認証

Redis 5以前はパスワード認証のみ(ユーザー名なし):

redis://:mysecretpassword@localhost:6379/0

パスワードの前にコロンがあることに注意 — ユーザー名は空です。

**Redis 6以降(ACL)**はACLシステムを通じてユーザー名+パスワードをサポート:

redis://myuser:mypassword@localhost:6379/0

TLS / SSL接続

暗号化接続(Redis Cloud、ElastiCache、Upstashで一般的)の場合は、rediss://スキーム('s'が2つ)を使用します:

rediss://default:token@redis.example.com:6380/0

SentinelとCluster

Redis SentinelとClusterデプロイメントは、クライアントライブラリによって異なる追加パラメータを使用します。例えば、Node.jsのioredisの場合:

// Sentinel
{
  sentinels: [{ host: "sentinel1", port: 26379 }],
  name: "mymaster",
  password: "secret"
}

これらの設定は通常、URI形式ではなくオブジェクトベースの設定を使用します。URI形式ではSentinel/Clusterパラメータが標準化されていないためです。

ユースケース

Webアプリケーションからセッションストレージ、キャッシュ、またはpub/subメッセージングのためにRedisに接続。ローカルのRedisインスタンスでも、UpstashやElastiCacheなどのマネージドサービスでも使用できます。

試してみる — Connection String Builder

フルツールを開く