問題タブ [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.

0 投票する
2 に答える
9510 参照

spring-boot - spring-data-neo4j のバージョンを 4.0.0.RELEASE に変更すると、org.springframework.beans.factory.BeanCreationException が発生する

Redis、Neo4j、Mongodb の 3 つのデータベースを使用しています。spring-data-neo4j のバージョンを 3.3.2.RELEASE から 4.0.0.RELEASE に変更するまで、すべての API は正常に動作していました。spring-data-mongodb: 1.8.0.RELEASE および spring-data-redis:1.4.3.RELEASE のバージョンに変更はありません。

spring-data-neo4j のバージョンを 4.0.0.RELEASE に変更し、必要な移行プロセスを完了すると、次のエラーが発生します。

ISortedSetRepository.java は次のとおりです。

RedisConfiguration は次のとおりです。

0 投票する
1 に答える
883 参照

java - ジェネリック インターフェイスを定義して Spring @CacheConfig を使用することは可能ですか?

この回答に触発されて、私は次のことを試みました

次に、このインターフェイスを使用して、使用済みリポジトリを定義します

作品:

上記のキャッシュはfindByType、、、findByCategoryfindByCategoryAndWizardType_id

動作しません:

で定義されたすべてのcacheableメソッドに対してCacheableRepository。のCacheConfig注釈SomeObjectRepoは影響しないようCacheableRepositoryです。

私の質問:

注釈が機能しないのはなぜですか? この構造を機能させるための回避策はありますか?

ありがとう、オーク

0 投票する
2 に答える
3944 参照

spring - @Cacheable タグは、Spring での JUnit テスト中に無視されているようです

JUnit テスト シナリオで @Cacheable アノテーションを取得する際に問題が発生しました。キャッシングを完全に無視しているようです。テスト以外のシナリオでは機能しますが、テストでは、キャッシュに触れているという証拠さえありません。新しいキー、ハッシュ、リストはなく、例外もありません。

現在、私がテストしようとしている方法は私のDAOにあり、基本的に低速の接続をシミュレートします(キャッシュが方程式に組み込まれると低速になることはありません):

これらは、私のテスト クラスの関連部分です。それらはまだコメントされていませんが、TL;DRは slowRetrievalTestIdExists メソッドを何度も実行し、同じパラメーターを使用して再実行します (キャッシュを使用してメソッドの本体を無視する必要があるため)。私はすでにこれらのメソッドをテストクラスに移動しようとしましたが、結果は変わりません:

キャッシュ構成クラスは次のとおりです (XML ベースの構成を使用していないため)。

私は何時間もこれに携わってきましたが、Googleにもほとんど何もないので、これに関する助けに本当に感謝しています.

0 投票する
1 に答える
1004 参照

java - RedisSerializer 処理 java.util.Optional (Spring Data Redis)

こんにちは、Redis をキャッシュ プロバイダーとして使用したいのですが、残念ながら redis シリアライザー (Json、String) は java.util.Optional をサポートしていません。

いくつかのコード行がそれをよりよく説明していると思います:

Optional はデフォルトの Java シリアライザーではシリアル化できず、JsonSerializer に Optional を処理するように指示する方法がまだわかりません。これはどのように機能しますか?Optional を取り除くというのは、私にとっては選択肢のようには思えません。

0 投票する
1 に答える
646 参照

java - spring-data RedisZSetCommands.zRangeByLex の使用方法の例を探す

特に、私は知る必要があります:

  1. Range の gt、gte、lt、および lte メソッドの仕組み。

  2. 1つのアイテムだけを覗く方法はありますか? 例のために。コマンドラインから次のことが可能です:

zadd テスト 0 aaaa
(整数) 1

zadd テスト 0 bbbb
(整数) 1

zadd テスト 0 aa
(整数) 1

zadd テスト 0 aaaaaa
(整数) 1

zrangebylex テスト [aaaa [aaaa
1) "aaaa"

RedisZSetCommands.zRangeByLex を使用して同じことができますか?

0 投票する
0 に答える
555 参照

spring - Spring Data Neo4j 4 SerializationException

spring neo4j 4 の neo4j ドキュメントに記載されているように、Neo4j 接続を構成しました。ノードの save() を呼び出すか、GraphRepository インターフェイスでノードを取得しようとすると、次のエラーが発生します。

redis が表示される理由がよくわかりません。redishttpsession に必要です。これまでのところ、Redis 用に何も変更していません。設定のみ:

何も保持されません。どうすればこれを修正できますか。

編集:

実在物:

Git: https://github.com/CeryniTheRat/neo4jredisdemo 同じエラーのサンプル プロジェクト

0 投票する
1 に答える
2421 参照

spring-data-redis - spring data redis メッセージリスナーがメッセージを 2 回リッスン

org.springframework.data.redis.listener.RedisMessageListenerContainer を使用して redis pubsub チャネルをリッスンしようとしています。

私の MessageListener クラスは次のようになります

およびアプリケーションコンテキストで

redis パブリッシャーは以下のようになります

この構成では、発行元から 1 回だけ送信された場合でも、いくつかの奇妙な理由でメッセージを 2 回 (場合によっては 3 ~ 4 回) 受け取ります。

私のログでは、メッセージが 2 つの異なる rediscontainer スレッドによってリッスンされていることがわかります