1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 |
|
注: redisson と springboot の互換性の問題を処理します
springboot が redisson を統合するには 3 つの方法があります
最初の: 一般的な redis 構成 redisson 自動構成 [最も単純な]
2 番目のタイプ: 別の redisson 構成ファイルを使用します
3 番目のタイプ: spring.redis.redisson を使用して構成キーの下で構成します
詳細な統合、SpringBoot 統合 Redisson 構成を表示
1 2 3 4 5 6 7 8 9 10 11 12 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
|
からRedissonDelayedQueue
実装では 4 つのロールが表示されます
#redisson_lay_queue_timeout:xxx、ソート セット データ タイプ、ストアすべての遅延タスク。遅延タスクの有効期限タイムスタンプ (タスクが送信されたときのタイムスタンプ遅延時間) に従って並べ替えられるため、リストの先頭の最初の要素が遅延キュー全体で実行される最も早いタスクになります。概念は非常に重要です
redisson_delay_queue:xxx、リストデータ型、今のところ使い道が見つかりませんが、提出時にここに書きます。タスク、キュー転送 内部の要素は削除されます
xxx: 対象キューと呼ばれるリスト データ型 このキューに格納されているタスクはすべて到達しましたコンシューマーが取得できるタスクであるため、上記のデモの RBlockingQueue の take メソッドは、このターゲット キューからタスク
redisson_lay_queue_channel:xxx を取得します。これは、遅延タスクを開始するようにクライアントに通知するために使用されるチャネルです。
RedissonDelayedQueue遅延キューが作成されると、キュー転送サービスと、遅延キューを実装するための 4 つの重要な色補正キーが指定されています。コア コードは、キュー転送タスク
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
|
RedissonDelayedQueue#offerAsync
1 2 3 4 5 6 7 8 9 10 11 12 |
|
以上がRedis が遅延キューを実装する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。