2

私は実体を持っています

パブリッククラスブック

{{

public long Id {get; セットする; }

public string BookName {get; セットする; }

public int ISBN {get; セットする; }

public string Author {get; セットする; }

}

次のような非キーフィールド作成者に基づいてレコードをフィルタリングしたい:

Select * from Book where Author ='Jones'

「GetAll」関数ですべてのレコードをフェッチしてから、そのリストのフィルタリングを実行したくありません。

IRedisClientインターフェイスでのEval/Lua操作について聞いたことがあります。

string GetEvalStr(string body、int numOfArgs、params string [] args);

int GetEvalInt(string body、int numOfArgs、params string [] args);

GetEvalMultiData(string body、int numOfArgs、params string [] args);を一覧表示します。

しかし、私の場合、これらの関数をどのように使用するかわかりません。

誰かが私を助けることができますか?

4

1 に答える 1

1

Eval は役に立ちません。すべてのレコードをフェッチして、それらをループする必要があります (別の言語で)。あなたの場合、選択の余地はほとんどないと思います。著者ごとに本を検索する必要がある場合は、著者ごとに本のIDを含むセットを維持する必要があります。

これはデータが複製されることを意味しますが、それが非リレーショナル データ ストアでリレーションシップを構築する唯一の方法です。

于 2012-09-20T22:09:45.093 に答える