私はこれにすべて間違ってアプローチしている可能性がありますが、REDISビットマップを使用してアプリケーション内のアクティビティを追跡したいと思います。次のようなコードがあります。
using (var conn = new RedisConnection("localhost"))
{
conn.Open();
var b1 = conn.Strings.SetBit(1, "test:2012-07-25", 1, true);
conn.Wait(b1);
var b2 = conn.Strings.SetBit(1, "test:2012-07-25", 3, true);
conn.Wait(b2);
var arr = conn.Strings.Get(1, "test:2012-07-25");
conn.Wait(arr);
BitArray bits = new BitArray(arr.Result);
}
エントリ(b1とb2)を問題なく追加できます。ただし、ビット配列としてサーバーからビットマップを取り戻そうとすると、正しく機能しません(値は取得されますが、設定されているビットは完全に正しくありません)。Strings.Get関数を使用してビットを返そうとして何か間違ったことをしていると思いますが、他にどうすればよいかわかりません。それを行う唯一の明白な方法は、私が興味を持っている日付ごとにgetbitを個別に呼び出すことですが、これはサーバーへのかなりの量のラウンドトリップをもたらすようです。どんな助けでもいただければ幸いです!