Dev Services for Redis
QuarkusはDev Servicesと呼ばれる機能をサポートしており、設定なしで様々なデータソースを作成することができます。これは実際には、dockerを実行していて、 quarkus.redis.hosts
を設定していない場合、Quarkusはテストやdev-modeの実行時に自動的にRedisコンテナを起動し、自動的に接続を設定します。
Available properties to customize the Redis Dev Service.
ビルド時に固定される設定プロパティ - その他の設定プロパティは実行時にオーバーライド可能です。
Configuration property |
タイプ |
デフォルト |
---|---|---|
If DevServices has been explicitly enabled or disabled. DevServices is generally enabled by default, unless there is an existing configuration present. When DevServices is enabled Quarkus will attempt to automatically configure and start a database when running in Dev or Test mode and when Docker is running. Environment variable: Show more |
ブーリアン |
|
The container image name to use, for container based DevServices providers. If you want to use Redis Stack modules (bloom, graph, search…), use: Environment variable: Show more |
string |
|
Optional fixed port the dev service will listen to. If not defined, the port will be chosen randomly. Environment variable: Show more |
int |
|
Indicates if the Redis server managed by Quarkus Dev Services is shared. When shared, Quarkus looks for running containers using label-based service discovery. If a matching container is found, it is used, and so a second one is not started. Otherwise, Dev Services for Redis starts a new container. The discovery uses the Container sharing is only used in dev mode. Environment variable: Show more |
ブーリアン |
|
The value of the This property is used when you need multiple shared Redis servers. Environment variable: Show more |
string |
|
Environment variables that are passed to the container. Environment variable: Show more |
Map<String,String> |
アプリケーションの本番バージョンを実行するときは、Redis接続を通常どおりに構成する必要があるため、本番データベースの構成を application.properties
に含めて、引き続きDev Servicesを使用する場合は、% prod.
プロファイルを使用してRedis設定を定義することをお勧めします。
Dev Services for Redisは、Dockerに依存してサーバーを起動します。お使いの環境がDockerをサポートしていない場合は、手動でサーバーを起動するか、すでに稼働しているサーバーに接続する必要があります。
Redis Stack modules (bloom, graph, search…)を使用する場合は、image-nameに redis/redis-stack:latest
|
共有サーバー
ほとんどの場合、アプリケーション間でサーバーを共有する必要があります。Dev Services for Redisは、 開発 モードで動作する複数のQuarkusアプリケーションが1つのサーバーを共有するための サービスディスカバリ メカニズムを実装しています。
Dev Services for Redis は、コンテナを識別するために使用される quarkus-dev-service-redis ラベルでコンテナを起動します。
|
複数の(共有)サーバーが必要な場合は、 quarkus.redis.devservices.service-name
属性を設定し、サーバー名を示します。同じ値を持つコンテナを探し、見つからない場合は新しいコンテナを開始します。デフォルトのサービス名は redis
です。
共有は、devモードではデフォルトで有効ですが、testモードでは無効です。 quarkus.redis.devservices.shared=false
で共有を無効にすることが可能です。