問題タブ [spring-data-redis]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - RedisAtomicLong をインクリメントできません
RedisAtomicLong
特定のデルタでオブジェクトをインクリメントしようとしています:
これは失敗します
MONITOR
サーバーでコマンドを使用すると、次のように表示されます。
Spring Data Redis (1.3.0) と Jedis (2.5.1) コネクタを使用しています。サーバーは Redis 2.8.6 を実行しています。
編集: 奇妙なことに気付きました:set
カウンターで手動で使用すると、Redis に送信されるデータがかなり奇妙に見えます:
java - StringRedisTemplate と StringRedisConnection
- [インターフェイス]
StringRedisTemplate
との違いは何ですか。StringRedisConnection
【安心してご利用いただけStringRedisConnection
ますDefaultStringRedisConnection
】 - これら 2 つのクラスの異なる使用例は何ですか。[
StringRedisTemplate
&DefaultStringRedisConnection
] - 2つのクラスに大きな違いがある場合は、両方のクラスの長所と短所、およびどちらのクラスが優れているかを教えてください.
- より優れた例外処理を提供しているクラスはありますか?
両方のクラスが同じことをしているように思えます。それらがredisで同じ一連の操作を行っており、1つのクラスが単なる構文糖衣である場合、これらが別々のクラスとして導入される理由. 私は何かが欠けているかもしれないと確信しています。
メソッド名は記載しないでください。StringRedisTemplate、StringRedisConnection
spring - Spring Redis に「キー」を設定する
次のコマンドを使用してメッセージを保存でき、Spring がキーを設定しているようです。
「メッセージ」を追加するときにキーを生成して渡す方法はありますか?
multithreading - トランザクションサポートが有効になっている場合、spring-data-redis 接続は適切に解放されませんか?
Spring 4 プロジェクトでは、Redis と Hibernate を含むデータベース トランザクションが必要です。楽観的ロックなどで Hibernate が失敗するたびに、Redis トランザクションも中止する必要があります。
これはうまくいくようです
- シングルスレッドのトランザクション実行。
- トランザクションに単一の Redis 呼び出しのみが含まれている限り、マルチスレッド トランザクションの実行。
- Hibernate が構成から除外されている場合、複数の Redis 呼び出しによるマルチスレッド トランザクションの実行。
トランザクションに複数の Redis 呼び出しが含まれ、Hibernate がトランザクションに参加するように設定されるとすぐに、接続バインディングとマルチスレッドに問題があるようです。RedisConnectionUtils.bindConnection()
の接続が不足しているため、スレッドが でスタックしてJedisPool
います。
これは次のように再現できます。
ThreadPoolTaskExecutor
マルチスレッド トランザクションをシミュレートするために、50 のコア プール サイズを使用します。
これを実行すると、すべての taskExecutor スレッドが JedisPool.getResource() でハングします。
Redis 構成
ハイバネート構成
これは spring-data-redis のバグですか、それとも構成に問題がありますか?
java - Spring Data Redis (1.3.2.RELEASE) は jedis の JedisSentinelPool をサポートしていますか?
Spring Data Redis (1.3.2.RELEASE) は jedis の JedisSentinelPool をサポートしていますか?
多分それはサポートしていません、誰が私に答えてくれますか?
サポートされていない場合は、どうすればよいですか?
spring - Spring-data-redis: cacheManager 構成の問題
Spring キャッシュの実装として redis を使用しています。そして、公式ドキュメントには、キャッシュマネージャーを次のように構成する必要があると書かれています。
また、jedis のバージョン = 2.0.0、spring-data-redis のバージョン = 1.0.2.RELEASE の場合に正常に動作します。
しかし、より最近のバージョン (例: jedis = 2.5.2 および spring-data-redis = 1.3.4.RELEASE) では、上記の構成は機能しません。代わりに、「loadCaches は空のコレクションを返してはならない」という例外をスローします。それから私はそれを参照して再度ググったところ、構成ファイルは次のようになりました。
今では、空のコレクションについては文句を言いませんが、初期化については別のことです。
したがって、ここに別の 2 つの質問があります。
- cacheNames プロパティ内で、他のユーザーが "list"、"set"、および "map" を使用していることがわかります。違いは何ですか?
- 内部でBeanを構成する方法は?
私はこの Bean のセットアップに数日間苦労しています。前もって感謝します
spring-data - spring data redis オブジェクト タイプの逆シリアル化に失敗しました。ネストされた例外は java.lang.ClassNotFoundException です
spring-data-redis 1.1.0 と jedis 2.1.0 を使用しています。
コードを Karaf にデプロイすると、以下の例外が発生します。
Is the byte array a result of corresponding serialization for DefaultDeserializer?;
nested exception is org.springframework.core.NestedIOException: Failed to deserialize object type;
nested exception is java.lang.ClassNotFoundException
私がJUnitを実行しているときに機能しています。
以下は私の redisTemplate です。
<bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">
java - 複数のコンシューマが redis メッセージングの場合のデータの損失
私のアプリケーションでは、redis のパブリッシャーからメッセージを受信するために複数のコンシューマーを使用しています。しかし、問題はデータの損失と重複データです。つまり、複数のコンシューマーが同じメッセージを受信しています。redis でこの問題を解決するにはどうすればよいですか? また、Redisメッセージングが初めてのJavaで例を提供することもできます。助けてください。
これが私の受信機です
このアプリケーションを複数のコンシューマー インスタンスで実行しています。私のキュー「ポイント ツー ポイント テスト」には 1000 個のメッセージがあり、複数のサーバー ログで同じメッセージを読み取っています。
javaを使用してredisでポイントツーポイントプロトコル通信を実装できますか?
redis の RPOPLPUSH コマンドはこの問題を解決しますか? はいの場合は、java にいくつかの例を投稿してください。
数日後、redis メッセージングでこれらの問題を修正するのに苦労しています。助けてください
spring - how to connect multiple redis instances through spring data redis?
I am trying to connect multiple redis instances via spring. But I did not find any documentation.
Here is how I am using it currently. I am using Jedis as the client and I plan on using Jedis only as I might require support for sentinel.
I want to add multiple redis instances to the connection pool. Like..