問題タブ [redisson]
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.
mysql - redisson による重複行の回避
私はテーブルを持っています、フー。特定のイベントでこのテーブルに行を追加します。現在の全体的な設計では、メッセージの重複は避けられません。これにより、重複する行がテーブルに追加されます。
このテーブルの行になるさまざまな種類のメッセージがあるため、テーブルに一意の制約を設定できません。特定の種類のメッセージのみ重複を避けたい。
重複したメッセージが同時に送信されることが多く、そのアプリケーションは複数のノードで実行されるため、radisson を使用して分散ロックを取得することにしました。ただし、機能していないようです。私はまだテーブルに重複した行を取得しています。
重複メッセージは、userId、日付、およびタイプに基づいて検出されます。以下は最小限のデモコードです。書き込みの前に読み取りを実行しようとしていますが、この読み取りはアプリケーション ノード間で同期されたブロックで行われています。
これに関するご意見をお待ちしております。
redis - Redisson.create が IllegalArgumentException で失敗する: ホスト名を null にすることはできません
Redisson を使用して (Docker 上で) Redis に接続しようとしています...簡単なもの..
Config config = new Config();
config.useSingleServer().setAddress("redis://192.168.99.100:6379");
RedissonClient redisson = Redisson.create(config);
//3行目
しかし、このエラーが発生しています (3 行目) - 何か不足していますか?
Exception in thread "main" java.lang.IllegalArgumentException: hostname can't be null at java.net.InetSocketAddress.checkHost(InetSocketAddress.java:149)
at java.net.InetSocketAddress.<init>(InetSocketAddress.java:216)
at org.redisson.client.RedisClient.<init>(RedisClient.java:105)
at org.redisson.connection.MasterSlaveConnectionManager.createClient(MasterSlaveConnectionManager.java:326)
at org.redisson.connection.MasterSlaveConnectionManager.createClient(MasterSlaveConnectionManager.java:314)
at org.redisson.connection.SingleEntry.setupMasterEntry(SingleEntry.java:47)
at org.redisson.connection.MasterSlaveConnectionManager.initEntry(MasterSlaveConnectionManager.java:263)
at org.redisson.connection.MasterSlaveConnectionManager.init(MasterSlaveConnectionManager.java:231)
at org.redisson.connection.MasterSlaveConnectionManager.<init>(MasterSlaveConnectionManager.java:159)
at org.redisson.connection.SingleConnectionManager.<init>(SingleConnectionManager.java:48)
at org.redisson.config.ConfigSupport.createConnectionManager(ConfigSupport.java:168)
at org.redisson.Redisson.<init>(Redisson.java:111)
at org.redisson.Redisson.create(Redisson.java:151)
java - 大きな複雑なJavaクラスオブジェクトをRedisに保存する最良の方法は?
ネストされた複雑な Java オブジェクトを Redis に格納する最良の方法は何ですか? 私たちが行っている方法は次のとおりです。
Redis のやり取りにはRedisson Java クライアント ライブラリを使用しています。以下のコードを参照してください。
同様に、put の代わりに get を使用して、redis から myObject を埋めています。
大きなサイズのデータが redis に保存されているため、タイムアウトを増やしました。次の例外が発生していました。
コマンドのコマンド実行タイムアウト: (EVAL) with params...
次の質問にも答えてください。
- これは、巨大で複雑な Java オブジェクトを Redis に配置する最良の方法ですか? (データ容量は1GB程度)
- 私たちのチームは Redis を初めて使用しています. Redis の優れたパフォーマンスを読みました. 複雑なデータを格納するために使用する必要がありますか? または値として小さな単一の文字列の場合にのみ適していますか? (そうであれば、私たちのユースケースに何が推奨されますか)
ありがとう。
java - Redisson-RSortedSet
Redis で SET に追加された要素の順序を保持する必要があります。そのために、RSortedSet をカスタム コンパレータと共に使用しています。
ここで直面している問題は、RSetCache とは異なり、この SET の要素を期限切れにできないことです。
このユースケースを達成するための回避策はありますか?.