問題タブ [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.
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 は次のとおりです。
java - ジェネリック インターフェイスを定義して Spring @CacheConfig を使用することは可能ですか?
この回答に触発されて、私は次のことを試みました
次に、このインターフェイスを使用して、使用済みリポジトリを定義します
作品:
上記のキャッシュはfindByType
、、、findByCategory
findByCategoryAndWizardType_id
動作しません:
で定義されたすべてのcacheable
メソッドに対してCacheableRepository
。のCacheConfig
注釈SomeObjectRepo
は影響しないようCacheableRepository
です。
私の質問:
注釈が機能しないのはなぜですか? この構造を機能させるための回避策はありますか?
ありがとう、オーク
spring - @Cacheable タグは、Spring での JUnit テスト中に無視されているようです
JUnit テスト シナリオで @Cacheable アノテーションを取得する際に問題が発生しました。キャッシングを完全に無視しているようです。テスト以外のシナリオでは機能しますが、テストでは、キャッシュに触れているという証拠さえありません。新しいキー、ハッシュ、リストはなく、例外もありません。
現在、私がテストしようとしている方法は私のDAOにあり、基本的に低速の接続をシミュレートします(キャッシュが方程式に組み込まれると低速になることはありません):
これらは、私のテスト クラスの関連部分です。それらはまだコメントされていませんが、TL;DRは slowRetrievalTestIdExists メソッドを何度も実行し、同じパラメーターを使用して再実行します (キャッシュを使用してメソッドの本体を無視する必要があるため)。私はすでにこれらのメソッドをテストクラスに移動しようとしましたが、結果は変わりません:
キャッシュ構成クラスは次のとおりです (XML ベースの構成を使用していないため)。
私は何時間もこれに携わってきましたが、Googleにもほとんど何もないので、これに関する助けに本当に感謝しています.
java - RedisSerializer 処理 java.util.Optional (Spring Data Redis)
こんにちは、Redis をキャッシュ プロバイダーとして使用したいのですが、残念ながら redis シリアライザー (Json、String) は java.util.Optional をサポートしていません。
いくつかのコード行がそれをよりよく説明していると思います:
Optional はデフォルトの Java シリアライザーではシリアル化できず、JsonSerializer に Optional を処理するように指示する方法がまだわかりません。これはどのように機能しますか?Optional を取り除くというのは、私にとっては選択肢のようには思えません。
java - spring-data RedisZSetCommands.zRangeByLex の使用方法の例を探す
特に、私は知る必要があります:
Range の gt、gte、lt、および lte メソッドの仕組み。
1つのアイテムだけを覗く方法はありますか? 例のために。コマンドラインから次のことが可能です:
zadd テスト 0 aaaa
(整数) 1zadd テスト 0 bbbb
(整数) 1zadd テスト 0 aa
(整数) 1zadd テスト 0 aaaaaa
(整数) 1zrangebylex テスト [aaaa [aaaa
1) "aaaa"
RedisZSetCommands.zRangeByLex を使用して同じことができますか?
spring - Spring Data Neo4j 4 SerializationException
spring neo4j 4 の neo4j ドキュメントに記載されているように、Neo4j 接続を構成しました。ノードの save() を呼び出すか、GraphRepository インターフェイスでノードを取得しようとすると、次のエラーが発生します。
redis が表示される理由がよくわかりません。redishttpsession に必要です。これまでのところ、Redis 用に何も変更していません。設定のみ:
何も保持されません。どうすればこれを修正できますか。
編集:
実在物:
Git: https://github.com/CeryniTheRat/neo4jredisdemo 同じエラーのサンプル プロジェクト
spring-data-redis - spring data redis メッセージリスナーがメッセージを 2 回リッスン
org.springframework.data.redis.listener.RedisMessageListenerContainer を使用して redis pubsub チャネルをリッスンしようとしています。
私の MessageListener クラスは次のようになります
およびアプリケーションコンテキストで
redis パブリッシャーは以下のようになります
この構成では、発行元から 1 回だけ送信された場合でも、いくつかの奇妙な理由でメッセージを 2 回 (場合によっては 3 ~ 4 回) 受け取ります。
私のログでは、メッセージが 2 つの異なる rediscontainer スレッドによってリッスンされていることがわかります