問題タブ [jedis]
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.
performance - redisで中規模から大規模なリスト/セット/zset/ハッシュを作成する最も効率的な方法は何ですか?
redisを使用すると、データ構造全体を取得するコマンドが多数あります (リストの場合はLRANGE、セットの場合はSMEMBERS、ソート済みセットの場合はZRANGE 、ハッシュの場合はHGETALL )。
単一のコマンドで複数のアイテムを挿入するメソッド ( HMSET )があるのはハッシュだけです。
私が見たすべての例は、一度に 1 つの項目をリスト ( RPUSHまたはLPUSHを介して) またはセット ( SADD / ZADDを介して) に追加することを示しています。
私が解決したいより具体的な問題は、データベース ID を含むリストとソート済みセットを作成することです。これらのリストは各ユーザーに固有であり、数百から数千の ID が含まれています。
それらは通常、データベース クエリから収集され、メモリ内で少し処理されてから、(リスト) をページ分割するか、セット ベースの操作を実行してサブセット (セットと並べ替えられたセット) を取得するために、redis に格納されます。
現在、リストを繰り返し処理し、各要素に対して適切な add メソッドを呼び出しています。これには、ネットワーク上で複数のリクエストを作成し、毎回キーを繰り返すという欠点があります。
MULTIとEXECでトランザクションを使用すると、それを単一の要求に変えるのに役立つと思いますが、繰り返されるキーには役立ちません。
1 つのコマンドで、または毎回キーを繰り返さずにリスト/セットに要素を追加できるようにするために、私が見逃しているものはありますか?
それが重要な場合(または、JVMから使用できる別のライブラリがあれば)、jedisクライアントライブラリも使用しています。
save - データベースごとの redis 保存オプション - 可能ですか?
すべてのデータベースの conf に保存オプションがあります。1、2 など、データベースごとに異なる保存値を割り当てることは可能ですか?
ありがとう。
scala - Redisの例を使用したリフト
私はRedisとScalaを別々に遊んでいて、単純なLiftアプリでそれらを組み合わせるのがいいと思いました。
かなりのグーグルを実行しましたが、Redisを使用するLiftアプリの例は見つかりません。これには理由がありますか?
Redis w / Liftを使用するためにどのドライバー/APIをお勧めしますか?現在、Jedis(https://github.com/xetorthio/jedis)で作業しています。
scala - ScalaでJedisを使用したタイプの不一致
次のコードは、4つのタイプの不一致エラーを生成します。なんで?最初と2番目のケースでは、Stringsと簡単に比較しています。false
3番目のケースでは、タイプの変数に割り当てていBoolean
ます。最後のケースでは、スタックトレースを印刷しているだけです。
私は困惑しています。
コード:
エラー:
Jedis 2.0.0(https://github.com/xetorthio/jedis)を使用してRedisDBとインターフェイスしています。Jedis.get()メソッドはを返しますString
。私はsbt0.10.1とscala2.9.0-1を使用しています。
どうしたの?
java - ISO-8859-5のエンコードに関するjedisまたはredisの問題
ISO-8859-5をエンコードするためにredisとjedisAPIをテストします。
結果として、私は次のようになります:а�б�аИаВаЕб�аМаИб�</ p>
次に、SafeEncoderを使用してみます。
結果:аАТаБТаАааАааАааБТаАааАааБТ
私は何を間違えますか?それは私ですか、それともredisですか、それともジェダイですか?
java - サンプルコードでJOhmで例外を取得する
昨日は、JOhm
ライブラリを使用しJedis
て作業を簡素化し、オブジェクトの一部だけでなくオブジェクト全体をキャッシュしようとしました。そして、すでに最初から私は例外に遭遇しました。
例外:
私はプロジェクトのソースでこの例外を探し(それについても問題を作成しました)、それがスローされる場所を見つけましたが、注釈がよくわからず、そのためコードをよく理解していません。
たぶん誰かが同じ問題に遭遇しましたか?
redis - Jedis ストレージの混乱、この問題は Redis または Jedis からのものですか?
次の Java コードは、100 万の整数ペアを redis に挿入します。
ここにredis情報の出力があります
89319664 は、キーと値のペアごとに ~ 89 バイトを意味します。
代わりに約 8 MB を期待していました (キーの 4 バイト + 値の 4 バイト)。
また、32 ビット モードで redis をコンパイルしました (まだ 64 ビット マシンでテストを実行しています)。
32 ビット バージョンの redis の結果:
used_memory: 68831664 => キーと値のペアごとに 68 バイト。
両方の結果は、私が予想していたよりも数倍高いです。
CLI を使用して redis を見ると、典型的なキーは "\x00\x00\xc2\xff" のようになります。
フィードバックに感謝します
PS - 64 ビット マシンで Redis 2.2.14 と Jedis 2.0 を使用しています。
PSS-コメントの1つで提案されているように、すべての値を1つのハッシュに保存しようとしました。コードは次のとおりです。
結果は次のとおりです。
単一のハッシュを使用すると、結果はさらに悪化します。
java - JedisConnectionException:java.net.SocketTimeoutException:接続がタイムアウトしました
単純なKey-Valueデータストアにjedisを使用しています...私のコードは次のとおりです
jedisクライアントでredisサーバーをテストすると、次の例外が発生しました。
誰か助けてもらえますか?
redis - java.lang.Stringクラスと機能的に同等と思われる特定のJedisCommandsの違いは何ですか?
substr
JedisCommands と java.lang.String のコマンドの違いは何ですか?
redis - Redisサーバーの低レベル出力をトレースする方法
JedisクライアントがJedisCommandsを介してRedisサーバーに送信するすべての低レベル出力をトレースしたいと思います。これを実現するには、ロギングを有効にする必要がありますか?