第163章 Spring Redis


Spring Redis コンポーネント

Camel 2.11 から利用可能
このコンポーネントにより、Redis からのメッセージの送受信が可能になります。Redis は高度なキーと値のストアで、キーには文字列、ハッシュ、リスト、セット、およびソートされたセットを含めることができます。さらに、アプリケーション間通信に pub/sub 機能を提供します。Camel はコマンドを実行するためのプロデューサーを提供します。pub/sub メッセージをサブスクライブするコンシューマーは、重複メッセージをフィルターリングするためのべき等リポジトリーになります。
前提条件
このコンポーネントを使用するには、Redis サーバーが実行中である必要があります。

URI 形式

spring-redis://host:port[?options]
Copy to Clipboard Toggle word wrap
URI にクエリーオプションは ?options=value&option2=value&.. の形式で追加できます。

URI オプション

Expand
名前 デフォルト値 コンテキスト 説明
host null 両方 Redis サーバーが実行されているホスト。
port null 両方 Redis ポート番号。
command SET 両方 デフォルトコマンド。メッセージヘッダーで上書きできます。
channels SET コンシューマー サブスクライブするトピック名または名前パターンのリスト。
redisTemplate null プロデューサー レジストリーに事前設定された org.springframework.data.redis.core.RedisTemplate インスタンスへの参照。
connectionFactory null 両方 レジストリーの org.springframework.data.redis.connection.RedisConnectionFactory インスタンスへの参照。
listenerContainer null コンシューマー レジストリーのレジストリーインスタンスで org.springframework.data.redis.listener.RedisMessageListenerContainer インスタンスへの参照。
serializer null コンシューマー レジストリーの org.springframework.data.redis.serializer.RedisSerializer インスタンスへの参照。

使用方法

Redis プロデューサーによって評価されるメッセージヘッダー

プロデューサーはサーバーにコマンドを発行し、各コマンドには特定タイプの異なるパラメーターのセットがあります。コマンドの実行の結果はメッセージボディーで返されます。
Expand
ハッシュコマンド 説明 パラメーター 結果
HSET ハッシュフィールドの文字列値を設定します。 CamelRedis.Key (文字列), CamelRedis.Field (文字列), CamelRedis.Value (オブジェクト型) void
HGET ハッシュフィールドの値を取得します。 CamelRedis.Key (文字列), CamelRedis.Field (文字列) 文字列
HSETNX フィールドが存在しない場合にのみ、ハッシュフィールドの値を設定します。 CamelRedis.Key (文字列), CamelRedis.Field (文字列), CamelRedis.Value (オブジェクト型) void
HMSET 複数のハッシュフィールドを複数の値に設定します。 CamelRedis.Key (String), CamelRedis.Values(Map<String, Object>) void
HMGET 指定されたハッシュフィールドの値を取得します。 CamelRedis.Key (文字列), CamelRedis.Fields (Collection<String>) コレクション<Object>
HINCRBY ハッシュフィールドの整数値を指定の数だけ増やします。 CamelRedis.Key (文字列), CamelRedis.Field (文字列), CamelRedis.Value(Long 型) Long
HEXISTS ハッシュフィールドが存在するかどうかを判断する CamelRedis.Key (文字列), CamelRedis.Field (文字列) ブール値
HDEL 1 つ以上のハッシュフィールドを削除します。 CamelRedis.Key (文字列), CamelRedis.Field (文字列) void
HLEN ハッシュ内のフィールド数を取得します。 CamelRedis.Key (文字列) Long
HKEYS ハッシュ内のすべてのフィールドを取得します。 CamelRedis.Key (文字列) Set<String>
HVALS ハッシュのすべての値を取得します。 CamelRedis.Key (文字列) コレクション<Object>
HGETALL ハッシュのすべてのフィールドおよび値を取得します。 CamelRedis.Key (文字列) Map<String, Object>
Expand
list commands 説明 パラメーター 結果
RPUSH 1 つまたは複数の値をリストに追加します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) Long
RPUSHX リストが存在する場合に限り、リストに値を追加します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) Long
LPUSH 1 つまたは複数の値をリストに追加します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) Long
LLEN リストの長さを取得します。 CamelRedis.Key (文字列) Long
LRANGE リストからの要素の範囲を取得します。 CamelRedis.Key (文字列), CamelRedis.Start(Long 型), CamelRedis.End(Long 型) List<Object>
LTRIM リストを指定の範囲にトリミングする CamelRedis.Key (文字列), CamelRedis.Start(Long 型), CamelRedis.End(Long 型) void
LINDEX インデックスでリストから要素を取得します。 CamelRedis.Key (文字列), CamelRedis.Index(Long 型) 文字列
LINSERT リスト内の別の要素の前後に要素を挿入 CamelRedis.Key (文字列)、CamelRedis.Value (Object)、CamelRedis.Pivot (String)、CamelRedis.Position (String) Long
LSET リスト内の要素の値をインデックスで設定します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Index(Long 型) void
LREM リストからの要素の削除 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Count(Long 型) Long
LPOP リストの最初の要素を削除して取得します。 CamelRedis.Key (文字列) オブジェクト
RPOP リストの最後の要素を削除して取得します。 CamelRedis.Key (文字列) 文字列
RPOPLPUSH リストの最後の要素を削除し、別のリストに追記して返します。 CamelRedis.Key (文字列), CamelRedis.Destination (文字列) オブジェクト
BRPOPLPUSH リストから値をポップし、その値を別のリストにプッシュして返します。または 1 つが利用可能になるまでブロックします。 CamelRedis.Key (文字列), CamelRedis.Destination (文字列), CamelRedis.Timeout(Long 型) オブジェクト
BLPOP リストの最初の要素を削除して取得するか、以下が利用可能になるまでブロックします。 CamelRedis.Key (文字列), CamelRedis.Timeout(Long 型) オブジェクト
BRPOP リストの最後の要素を削除して取得するか、以下が利用可能になるまでブロックします。 CamelRedis.Key (文字列), CamelRedis.Timeout(Long 型) 文字列
Expand
コマンドの設定 説明 パラメーター 結果
SADD セットに 1 つ以上のメンバーを追加します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) ブール値
SMEMBERS セット内のすべてのメンバーを取得します。 CamelRedis.Key (文字列) Set<Object>
SREM セットから 1 つ以上のメンバーを削除します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) ブール値
SPOP セットからランダムなメンバーを削除して返します。 CamelRedis.Key (文字列) 文字列
SMOVE あるセットから別のセットにメンバーを移動します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Destination (文字列) ブール値
SCARD セット内のメンバー数を取得します。 CamelRedis.Key (文字列) Long
SISMEMBER 指定された値がセットのメンバーであるかどうかを決定する CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) ブール値
SINTER 複数セットの補間 CamelRedis.Key (文字列), CamelRedis.Keys (文字列) Set<Object>
SINTERSTORE 複数のセットに干渉し、作成されるセットをキーに保存します。 CamelRedis.Key (文字列), CamelRedis.Keys (文字列), CamelRedis.Destination (文字列) void
SUNION 複数のセットの追加 CamelRedis.Key (文字列), CamelRedis.Keys (文字列) Set<Object>
SUNIONSTORE 複数のセットを追加し、作成される をキーに保存します。 CamelRedis.Key (文字列), CamelRedis.Keys (文字列), CamelRedis.Destination (文字列) void
SDIFF 複数のセットを減算 CamelRedis.Key (文字列), CamelRedis.Keys (文字列) Set<Object>
SDIFFSTORE 複数のセットを引き、作成される をキーに保存します。 CamelRedis.Key (文字列), CamelRedis.Keys (文字列), CamelRedis.Destination (文字列) void
SRANDMEMBER セットから 1 つまたは複数のランダムメンバーを取得します。 CamelRedis.Key (文字列) 文字列
Expand
順序付きの設定コマンド 説明 パラメーター 結果
ZADD ソートされたセットにメンバーを 1 つ以上追加するか、スコアが存在する場合は更新します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Score (Double 型) ブール値
ZRANGE インデックスごとにソートされたセット内のメンバーの範囲を返します。 CamelRedis.Key (文字列)、CamelRedis.Start (Long)、CamelRedis.End (Long)、CamelRedis.WithScore (Boolean) オブジェクト
ZREM ソートされたセットから 1 つ以上のメンバーを削除します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) ブール値
ZINCRBY ソートされたセット内のメンバーのスコアを増やす CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Increment (Double 型) double
ZRANK ソートされたセットでメンバーのインデックスを決定します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) Long
ZREVRANK ソートされたセットでメンバーのインデックスを決定します。スコアは high から low に付けられます。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) Long
ZREVRANGE ソートされたセット内のメンバーの範囲を、インデックス別に返します。スコアは high から low に付けられます。 CamelRedis.Key (文字列)、CamelRedis.Start (Long)、CamelRedis.End (Long)、CamelRedis.WithScore (Boolean) オブジェクト
ZCARD ソートされたセット内のメンバー数を取得します。 CamelRedis.Key (文字列), Long
ZCOUNT 指定の値内のスコアでソートされたセット内のメンバーをカウントします。 CamelRedis.Key (文字列), CamelRedis.Min (Double 型), CamelRedis.Max (Double 型) Long
ZRANGEBYSCORE スコアでソートされたセット内のメンバーの範囲を返します。 CamelRedis.Key (文字列), CamelRedis.Min (Double 型), CamelRedis.Max (Double 型) Set<Object>
ZREVRANGEBYSCORE スコアが high から low のソートされたセット内のメンバーの範囲を返します。 CamelRedis.Key (文字列), CamelRedis.Min (Double 型), CamelRedis.Max (Double 型) Set<Object>
ZREMRANGEBYRANK 指定されたインデックス内でソートされたセットのすべてのメンバーを削除します。 CamelRedis.Key (文字列), CamelRedis.Start(Long 型), CamelRedis.End(Long 型) void
ZREMRANGEBYSCORE 指定のスコア内でソートされたセット内のすべてのメンバーを削除します。 CamelRedis.Key (文字列), CamelRedis.Start(Long 型), CamelRedis.End(Long 型) void
ZUNIONSTORE 複数のソートされたセットを追加し、作成されるソートされたセットを新しいキーに保存します。 CamelRedis.Key (文字列), CamelRedis.Keys (文字列), CamelRedis.Destination (文字列) void
ZINTERSTORE 複数のソートされたセットを補間し、作成されるソートされたセットを新しいキーに保存します。 CamelRedis.Key (文字列), CamelRedis.Keys (文字列), CamelRedis.Destination (文字列) void
Expand
string commands 説明 パラメーター 結果
SET キーの文字列値を設定します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) void
GET キーの値を取得します。 CamelRedis.Key (文字列) オブジェクト
STRLEN キーに保存されている値の長さを取得します。 CamelRedis.Key (文字列) Long
APPEND キーに値を追加します。 CamelRedis.Key (文字列), CamelRedis.Value (文字列) 整数
SETBIT キーに保存される文字列値のオフセットでビットを設定または消去します。 CamelRedis.Key (文字列), CamelRedis.Offset(Long 型), CamelRedis.Value (ブール型) void
GETBIT キーに保存される文字列値のオフセットでビット値を返します。 CamelRedis.Key (文字列), CamelRedis.Offset(Long 型) ブール値
SETRANGE 指定されたオフセットから開始するキーの文字列の一部を上書きします。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Offset(Long 型) void
GETRANGE キーに保存されている文字列のサブ文字列を取得します。 CamelRedis.Key (文字列), CamelRedis.Start(Long 型), CamelRedis.End(Long 型) 文字列
SETNX キーが存在しない場合にのみ、キーの値を設定します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) ブール値
SETEX キーの値および有効期限を設定します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型), CamelRedis.Timeout(Long 型), SECONDS void
DECRBY 指定された数でキーの整数値をデクリメントする CamelRedis.Key (文字列), CamelRedis.Value(Long 型) Long
DECR キーの整数値を 1 つずつ減らす CamelRedis.Key (文字列), Long
INCRBY 指定された量でキーの整数値を増やします。 CamelRedis.Key (文字列), CamelRedis.Value(Long 型) Long
INCR キーの整数値を 1 つずつ増やします。 CamelRedis.Key (文字列) Long
MGET 指定したすべてのキーの値を取得します。 CamelRedis.Fields (Collection<String>) List<Object>
MSET 複数のキーに複数の値を設定する CamelRedis.Values(Map<String, Object>) void
MSETNX 複数のキーを複数値に設定します(キーが存在しない場合のみ)。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) void
GETSET キーの文字列値を設定し、その古い値を返します。 CamelRedis.Key (文字列), CamelRedis.Value (オブジェクト型) オブジェクト
Expand
主要なコマンド 説明 パラメーター 結果
EXISTS キーが存在するかどうかを判断する CamelRedis.Key (文字列) ボルア語
DEL キーを削除します。 CamelRedis.Keys (String) void
TYPE キーに保存されているタイプを特定します。 CamelRedis.Key (文字列) DataType
KEYS 指定したパターンに一致するすべてのキーを検索します。 CamelRedis.Pattern (String) Collection<String>
RANDOMKEY キースペースからランダムなキーを返します。 CamelRedis.Pattern (文字列)、CamelRedis.Value (文字列) 文字列
RENAME キーの名前変更 CamelRedis.Key (文字列) void
RENAMENX キーの名前変更(新しいキーが存在しない場合のみ) CamelRedis.Key (文字列), CamelRedis.Value (文字列) ブール値
EXPIRE キーの時間を秒単位で設定する CamelRedis.Key (文字列), CamelRedis.Timeout(Long 型) ブール値
SORT リスト、設定、またはソートされたセット内の要素を並べ替えます。 CamelRedis.Key (文字列) List<Object>
PERSIST キーから有効期限を削除します。 CamelRedis.Key (文字列) ブール値
EXPIREAT キーの有効期限を UNIX タイムスタンプとして設定します。 CamelRedis.Key (文字列), CamelRedis.Timestamp(Long 型) ブール値
PEXPIRE キーの時間をミリ秒単位で設定します。 CamelRedis.Key (文字列), CamelRedis.Timeout(Long 型) ブール値
PEXPIREAT キーの有効期限をミリ秒単位で指定された UNIX タイムスタンプとして設定します。 CamelRedis.Key (文字列), CamelRedis.Timestamp(Long 型) ブール値
TTL キーの有効期間を取得します。 CamelRedis.Key (文字列) Long
MOVE キーを別のデータベースに移動する CamelRedis.Key (文字列), CamelRedis.Db (整数) ブール値
Expand
その他のコマンド 説明 パラメーター 結果
MULTI トランザクションブロックの開始をマークします。 none void
DISCARD MULTI の後に発行されたすべてのコマンドを破棄します。 none void
EXEC MULTI の後に発行されたすべてのコマンドを実行します。 none void
WATCH MULTI/EXEC ブロックの実行を決定するために指定のキーを監視します。 CamelRedis.Keys (String) void
UNWATCH 監視されるすべてのキーについて忘れる none void
ECHO 指定の文字列を echo します。 CamelRedis.Value (String) 文字列
PING サーバーに ping します。 none 文字列
QUIT 接続を閉じる none void
PUBLISH メッセージをチャネルに投稿 CamelRedis.Channel (文字列), CamelRedis.Message (オブジェクト型) void

Redis コンシューマー

コンシューマーは、SUBSCRIBE コマンドを使用してチャネル名または P SUBSCRIBE コマンドを使用して文字列パターンでチャネルにサブスクライブします。PUBLISH コマンドを使用してチャネルにメッセージを送信すると、メッセージが消費され、メッセージは Camel メッセージボディーとして利用できます。メッセージは、設定されたシリアライザーまたはデフォルトの JdkSerializationRedisSerializer を使用してシリアライズされます。
コンシューマーによって設定されたメッセージヘッダー
Expand
ヘッダー タイプ 説明
CamelRedis.Channel 文字列 メッセージが受信されたチャネル名。
CamelRedis.Pattern 文字列 メッセージが受信されたチャネルに一致するパターン。

Dependencies

Maven ユーザーは、以下の依存関係を pom.xml に追加する必要があります。
pom.xml
<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-spring-redis</artifactId>
    <version>${camel-version}</version>
</dependency>
Copy to Clipboard Toggle word wrap
${camel-version} は、実際のバージョンの Camel (2.11 以降)に置き換える必要があります。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat