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などのマネージドサービスでも使用できます。