草庐IT

BookSleeve

全部标签

Appharbor 上的 Redis - Booksleeve GetString 异常

我正在尝试在appharbor上设置Redis。我已按照他们的说明进行操作,但我再次遇到BooksleeveAPI问题。这是我用来使其最初工作的代码:varconnectionUri=newUri(url);using(varredis=newRedisConnection(connectionUri.Host,connectionUri.Port,password:connectionUri.UserInfo.Split(new[]{':'},2)[1])){redis.Strings.Set(1,"greeting","welcometorememberyourstuff!");t

c# - 如何使用 Booksleeve 从 Redis 返回 C# 位数组

我可能完全错误地处理了这一切,但我想使用REDIS位图来跟踪我的应用程序中的事件。我有一段代码如下:using(varconn=newRedisConnection("localhost")){conn.Open();varb1=conn.Strings.SetBit(1,"test:2012-07-25",1,true);conn.Wait(b1);varb2=conn.Strings.SetBit(1,"test:2012-07-25",3,true);conn.Wait(b2);vararr=conn.Strings.Get(1,"test:2012-07-25");conn.W

c# - Booksleeve redis 客户端上的空字符串是否会导致超时?

所以我有这个单元测试:[TestMethod]publicvoidTestNullString(){StringexpectedTestValue=null;varuid=Guid.NewGuid().ToString();redis.Wait(redis.Strings.Set(db,uid,expectedTestValue));vartestValue=redis.Wait(redis.Strings.GetString(db,uid));Assert.AreEqual(expectedTestValue,testValue);}结果是超时。这是应该发生的还是我做错了什么?

c# - 使用 Booksleeve 执行 ZINTERSTORE 的选项?

我一直在C#中使用Booksleeve作为我的redis驱动程序并且对此非常满意-但我发现需要对排序集进行一些工作。看起来这些在Booksleeve中只得到最少的支持——例如,没有像ZUNIONSTORE或ZINTERSTORE这样的命令的实现。我找到了scobrown'sforkofBooksleeveonGithub它声称已经实现了这些操作,但我一直在使用NuGet的“官方”包,我不确定是否要切换到另一个分支。有没有人有使用过这个fork的经验?对于生产代码而言,它是否足够稳定可靠?否则,有没有人想出任何其他解决方法来解决需要在排序集上执行交集或并集之类的事情?我一直在做类似以下的

asynchronous - 来自 BookSleeve Redis 客户端的缓存异步错误

BookSleeve性能非常好,因为它尽可能多地使用异步IO。但问题是,它可能会从异步操作中抛出致命异常并使我的应用程序崩溃。我知道关键字await可以提供帮助,但我不能在每次调用时都使用await。有没有办法在全局范围内捕获未处理的异常? 最佳答案 您使用的是什么版本的库?BookSleeve在内部专门观察自己的异常,因此它们不应该导致任何崩溃,但是,您也可以:处理.Error事件处理TaskScheduler.UnobservedTaskException事件严格来说,这些都不是必需的。后者会阻止应用程序关闭,但同样:这应该无关

c# - 使用 BookSleeve 移除 SortedSet

我有大约336个键要删除,它们是SortedSet,我在Ubuntu服务器上使用BookSleeve作为C3客户端和Redis。下面的代码有效,但如果我删除Console.WriteLine,它不会随机删除大约100个键。它不会引发任何错误,当我在Redis服务器端打开Montior时,我没有看到为那些未从C#端删除的人发送ZREM声明。为什么它会与Console.Writeline一起工作而不是当它被注释掉时让我感到困惑。有什么想法吗?publicvirtualvoidRemoveKey(stringitem,stringid){for(inti=1;i我有课publicclassR

redis - 如何使用 Booksleeve 获取键/值列表?

我正在尝试获取值列表,其中键名称以“猴子”开头。我真的找不到这方面的文档。:(我该怎么做?我应该使用什么API?键、集合、字符串?什么方法?或者它尚不可用,但有解决方法?谢谢 最佳答案 Redis没有“获取像{x}这样的所有键及其值”命令,但它确实有:像{x}一样获取所有键获取键值/键值首先,您的方法是否明智在一定程度上取决于您使用的服务器版本。如果您使用的是最新版本,那么该库将使用SCAN,这并不可怕。在较旧的服务器版本上,它将使用KEYS,这是不惜一切代价避免的。我不在电脑前,所以这只是伪代码,但是:foreach(varbat

redis - 使用 Booksleeve 将字节数组键序列化到 Redis 的最佳方法

我需要找到将字节数组发送到带有Booksleeve的Redis服务器的键空间的最佳实现。我尝试了不同的实现,如UTF8编码,但我不知道什么是redis服务器内存中最优化的(我将使用数百万这样的key,所以我真的需要内存中最短的key)。有没有人已经有这个需求了? 最佳答案 在当前版本中,为简单起见,我坚持使用字符串键,但代码可以很好地处理二进制文件——它使用二进制API。IIRC就在这周,我的收​​件箱中收到了一个补丁,它添加了二进制key支持。因为它似乎很受欢迎,所以我这周会看看。编辑:一周过去了;原因是我也在做一些关于redis

c# - Redis Booksleeve、HGETALL 和将字节数组转换为长

我正在使用Booksleeve通过C#代码与Redis通信。该代码首先从哈希中检索所有字段和值:varvals=awaitRedis.Hashes.GetAll(0,redisKey);散列包含具有long类型值的字段。对Hashes.GetAll的调用以字节数组形式返回字段值。问题是,如何将此字节数组转换为C#long?例如,如果我使用Hashes.GetInt64检索值,我会得到9684,这是正确的。但是我无法将检索到的字节数组转换为long以匹配此值:BitConverter.ToInt64(redisHashValue,0)throwsArgumentExceptionBitC

windows - Booksleeve 是否适用于 Windows Redis(Redis 作为 Windows 服务安装)?

Booksleeve是否可以与WindowsRedis一起使用(Redis作为Windows服务安装)?我安装了RedisasaWindowsService我想知道是否可以将BookSleeve与它一起使用?还是BookSleeve专供安装在Unix系统上的Redis? 最佳答案 它不会关心,甚至不会意识到这一事实。无论哪种方式,协议(protocol)都是相同的,应该可以正常工作。另请注意,现在有一个受支持的MS分支,可以通过名为“Redis-64”的巧克力或nuget轻松安装。 关于