最初我問過查詢.rdb文件,這不是我想要做的 - 我將查詢活動服務器。如何使用日期範圍從Redis(pub/sub)保存和檢索頻道數據?
我即將啓動一個項目,我們將使用RDB快照技術在發佈/訂閱方案中使用Redis。
.Net WCF客戶端將通過Marc Gravell'sBookSleeve配置Redis連接並接受傳入請求。
啓用RDB快照後,將創建增量快照。
我希望客戶能夠根據給定的頻道和日期範圍檢索數據集。我在想,我會使用相同的WCF客戶端進行讀寫操作(除非有明顯的異議)。我不完全清楚用什麼方法來查詢服務器來檢索日期範圍,通道特定的數據,並通過WCF客戶端傳遞。
是否可以通過BookSleeve實現此數據查詢功能(如果是這樣,如何)或者是否有其他更適合使用的訪問包裝器(例如ServiceStack.Redis)?
將BookSleeve用於寫入,將ServiceStack.Redis用作客戶端會更好嗎?
- 更新 -
我已經快照設置爲默認值:
save 900 1
save 300 10
save 60
與Redis Admin UI瀏覽數據,我希望是15分鐘(900秒)後,看到一些數據存儲在一個密鑰中,但是,搜索鍵顯示通道名稱(和其他鍵),但內部沒有值。
由於發佈/訂閱活動are not persisted,捕獲頻道數據並存儲它的好方法是什麼?
太好了,謝謝澄清。我仍然試圖理解Redis的結構,以及如何查詢數據,所以這是一項正在進行的工作。所以我不想手動解析一個rdb,並且總是有一個活動的服務器在運行,所以我的問題需要一些重新措詞。隨着pub/sub,是否有任何密鑰保存到磁盤?我連接了Redis Admin UI並沒有看到任何鍵。 – ElHaix
@ElHaix pub/sub完全是瞬態的:不存儲任何內容。如果您需要存儲空間,請改用隊列(= list)。我更新了你的編輯答案。 –
Marc,閱讀http://openmymind.net/2011/7/5/Rethink-your-Data-Model/ - 我看到使用zadd/zrangebyscore可能是更好的解決方案,其中時間戳設置爲分數,我可以簡單地保存一個json對象作爲成員。你怎麼看?在Booksleeve中是否支持這些命令,以及在哪裏可以找到有關如何通過使用C#的Booksleeve發佈命令的示例? – ElHaix