18
私はセット(またはそれが良いとすればソートされたセットまたはリスト)を持っているとします。は100から1000文字列です。Redis: "通常の"セットとソートされたセットを交差させる方法?
次に、並べ替えられたセットB、さらに多くの文字列、たとえば100万個があります。
今Cは(もちろんのストリングの)とBの交点であるべきです。
XがすべてのCにあるすべてのタプル(X、SCORE_OF_X_IN_B)が必要です。
私は2つのアイデアを得た:
- Interstore
- 店Aあらゆる持つソートセットは、D
- にされて0
- interstoreスコアD
- のすべての項目は、Dを削除します
- 私のクライアントプログラムの開発における
- GET zscoreすべての文字列のための
以上のクライアント
- ループで単純なループ1. Redisの側にあまりにも多くのオーバーヘッドがありますがは(のために書く必要があり例。 redisページには、かなり高い時間の複雑さもあります。http://redis.io/commands/zinterstore)2.は| A |データベース接続に適していて、良い選択ではありません。
たぶん私はzscoreようですが、文字列の任意の数で動作しますRedisの/ LUAスクリプトを書くことができますが、私のホスティング事業者は、スクリプトを許可するかどうかはわからないんだけど...
だから、僕はお願いしたかったですそれで、スクリプトなしでエレガントで高速なソリューションが利用可能ならば!