编辑以处理OP的编辑:
如前所述:pub / sub不持久。我建议 使用队列 ;
“列表”类型的Redis是理想的,有
lpush,
rpush,
lpop,
rpop,
rpoplpush并且
ltrim全部为关键的有关该方案的命令。您可以选择使用的pub/ sub 以及 ,通知新数据的可用性的客户-或者你可以使用拦截弹出命令
blpop,
brpop和
brpoplpush。所有这些操作都在这里定义。
我可以澄清一下:听起来好像您有一堆rdb文件,并且想从任意文件中读取(“增量快照”)。是这样吗?
除非使用专用工具解析rdb文件,否则它们本身并不是很有用。Redis客户端(如BookSleeve和ServiceStack)希望与正在运行的Redis实例进行通信。您的问题听起来有点像“我在某个日期范围内都有sql-
server .bak文件;如何从中获取数据
Sometable?” -答案是“首先将bak加载到SQL Server中”。
启动redis服务器非常容易,但是它并不希望从多个rdb文件中读取。
选项:
- 手动解析RDB;看到这个线程 -期待痛苦
- 在需要时按文件动态启动redis-server实例…很好, 它可以工作 ,但是流程管理可能会变得“有趣”
- 预先为每个文件启动一个Redis服务器实例…然后您需要担心端口管理/映射以及监视新文件
- 热负荷使用
DEBUG RELOAD
; 但是 ,这并不是真的很受支持,在测试中我无法使其正常运行(特别是,它似乎SAVE
在重新加载之前执行了a操作,使其不适合这种情况)
但最终,要即时获取一系列不同的rdb文件并不是Redis的正常用例。
如果我了解您的要求,那么 这不是客户端问题
,更不用说平台特定的问题(.NET,C#,WCF等):首先,您需要弄清楚如何运行服务器(s)或以其他方式读取文件。在RedisDB中最好问这个问题



