Managed Redis
Lizard (lizard.build) の Managed Redis は、キャッシュ、キュー、レート制限、pub/sub のための Redis サーバーです。新しいインスタンスはデフォルトで Redis 8 で動作します。lizard add redis で追加すると、サービスは ${{redis.REDIS_PRIVATE_URL}} のような参照を通じて REDIS_PRIVATE_URL または REDIS_URL を読み取ります。エビクションポリシーも追記専用ファイルもないため、再構築できるデータだけを保存してください。概要と料金については、Managed Redis のページ を参照してください。
プロビジョニング
lizard add redis最初の Redis アドオンの名前は redis なので、${{redis.REDIS_URL}} はすぐに使えます。
環境変数
| 変数 | 説明 |
|---|---|
REDIS_URL | パブリックエンドポイント経由の完全な接続文字列 (redis://…) |
REDIS_PRIVATE_URL | プロジェクトのプライベートネットワーク経由の接続文字列 (<name>.lizard.internal:6379) |
どちらの文字列も redis://default:<password>@<host>:<port> という形式です。プライベートな文字列は、同じプロジェクトかつ同じリージョンのサービスからのみ使えます。プライベートネットワーク を参照してください。別のリージョンのサービスは REDIS_URL を使う必要があります。プライベート URL を使わせるには、lizard add redis --region <code> でそのサービスのリージョンに Redis を作成します。<name> はアドオンがプライベートアドレスを得たときの名前 (最初のものは redis) で、名前を変更しても変わりません。
サービスを接続する
lizard secrets set REDIS_URL='${{redis.REDIS_PRIVATE_URL}}' --service api
lizard redeploy --service api参照はデプロイ時に解決されます。利用側のサービスは、次のデプロイでアドオンの現在の値を取得します。プロジェクト外や別のリージョンのクライアントには REDIS_URL を使ってください。プロジェクト内のすべてのサービスには、アドオンのパブリックな REDIS_URL も最も低い優先度で渡されます。明示的な参照はこれを上書きします。
Managed Redis はデータを保持しますか?
すべての書き込みが保持されるわけではありません。Managed Redis にはエビクションポリシーも追記専用ファイル (AOF) もありません。メモリが不足するとインスタンスが再起動し、直近の書き込みが失われることがあります。再構築できるデータに使い、失えないデータは Managed Postgres に保存してください。
一般的な用途
- キャッシュ:リクエストをキーにして計算結果を保存します。
- キュー / ワーカー:Redis を、ジョブを消費する workerモードのサービス と組み合わせます。redis-worker サンプルの手順は キューコンシューマーを実行する で説明しています。
- レート制限 / セッション:replicas 間で高速に共有状態を扱います。
# A worker that drains a Redis queue
lizard add -r your-org/worker -n jobs --no-deploy
lizard service set jobs --set containerPort=0
lizard secrets set REDIS_URL='${{redis.REDIS_PRIVATE_URL}}' --service jobs
lizard redeploy --service jobsキーを参照する
ダッシュボードの Redis browser (lizard open) を開いて、キーと値を確認します。アドオンの接続値を使ってローカルからアクセスするには:
lizard run --service redis -- sh -c 'exec redis-cli -u "$REDIS_URL"'ストレージを拡張する
lizard scale --service redis --storage 4096ストレージは拡張のみ可能です。指定できるサイズは 512、1024、2048、4096、8192、16384 MB です。拡張中、Lizard は Redis を停止し、データをより大きなボリュームにコピーしてから再起動します。そのため短時間のダウンタイムが発生します。一時停止中のインスタンスは、先に lizard resume で再開してください。
関連項目
- Managed Addons:命名、参照、ダッシュボードブラウザーについて。
- Background Workers:Redis とキューを消費するワーカーの組み合わせについて。
lizard run --service redis は、アドオンのパブリックな接続値を使って手元のマシンでコマンドを開始します。redis-cli をローカルにインストールしてください。
更新日