排序的設置爲每some suggestions正確的方法,我使用Redis的ZADD
通過BookSleeve的SortedSets.Add()
保存按時間順序數據如下:檢索從Redis的使用BookSleeve
TimeSpan span = DateTime.UtcNow.Subtract(new DateTime(1970, 1, 1, 0, 0, 0));
_connection.SortedSets.Add(_db, thisChannel, message, span.TotalSeconds, false);
使用ServiceStack的AdminUI,我可以看到Redis中隱藏的值。
這些值存儲爲UTC,我現在希望能夠返回一個範圍的值。
很簡單,因爲我最近保存的值,我想:
var subset = _connection.Wait(_connection.SortedSets.Range(_db, thisChannel, span.TotalSeconds - 10000, span.TotalSeconds, offset: 0, count: 50));
在VS,集合中包含的雙重價值,關鍵是Byte []類型的。我認爲這是保存的數據的字節數組 - 即使我將它保存爲字符串?
我查看了一些代碼here,想知道是否有大量的文檔和一些關於如何使用此功能的示例?
Booksleeve基本上充當墊片直接在[底層ZRANGE命令的頂部](http://redis.io/commands/zrange);順便說一句,最直接的測試鏈接是[這裏](https://code.google.com/p/booksleeve/source/browse/Tests/SortedSets.cs)。返回的byte []'只是UTF-8編碼 - 還有'RangeString'可以爲你做翻譯。我必須「現在」去吃東西,但我稍後可以回來添加一個更完整的例子。你能澄清一下:目前有什麼問題?你沒有得到預期的行嗎?或者只是切換到'RangeString'的情況?我該怎麼幫忙? – 2013-02-21 01:57:20
閱讀ZRANGE文檔後,我看到開始/停止值從給定範圍的開始到結束爲零。所以,當我使用RangeString()時,我使用0,99999(因爲沒有超出範圍的異常拋出),我期望的全部項目。然而,我始終得到「方法或操作沒有實現」的錯誤「。此外,不使用分數不會幫助我在這種情況下(因爲得分是時間戳),我用這個範圍得到。 – ElHaix 2013-02-21 14:41:46
這很有趣,也沒有辦法,我可以推斷,從問題!是否有一個堆棧跟蹤?我要旋轉起來的快速測試,看看我是否能瑞普與您的代碼 – 2013-02-21 15:05:18