我可能接近这一切都错了,但我想使用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,但这似乎会引入大量的往返服务器。任何帮助将不胜感激!
答案 0 :(得分:1)
对不起朋友们,正在返回正确的结果,我读错了。真的有两个陷阱:
[0]假 [1]错误 [2]错误 [3]错误 [4]是的 [5]错误 [6]是的 [7]错误
我想密钥实际上是在处理之前反转字节/位...希望这可以帮助某人将来...