我在现场运行数千台设备,每分钟发送一次位置数据。我们现在计划使用Microsoft Azure Table和Redis,并且作为一个poc我通过创建每个imei一小时内每个季度的密钥,只在redis中存储10个设备位置数据,
喜欢redis的数据发送时间为23-03-2017 15:01,imei" abc"将是" abc2017032315Q1"。
每个Redis键的到期时间设置为2小时。
现在我必须将这些数据移动到microsoft azure表,我计划编写一份工作,将最近一小时从redis读取数据并将其存储到Microsoft Azure Table中,这将是最好的迁移方式,因为我将必须为所有数千台设备做同样的事情。
我正在使用Java。
答案 0 :(得分:1)
我认为迁移Redis兼容的RDB文件应该可以工作,因为可以导出RDB文件并将其导回到Redis的任何部署环境。 有关更多信息,您可以关注链接 RDB
答案 1 :(得分:0)
根据我的理解,您希望将最近一小时的redis数据迁移到Azure Table Storage。众所周知,没有任何现有的工具可以支持将数据从redis传输到Azure Table Storage。因此,唯一的方法是使用Azure Storage SDK for Java& amp; Jedis以编程方式完成。
然而,考虑到数千台设备的redis数据大小,转移工作似乎并不稳定。内部部署和云之间的效率。您可以尝试使用命令redis-cli --rdb dump.rdb
备份rdb文件,并临时创建Azure Redis缓存并import the rdb file,然后以web job或Azure VM运行作业通过Azure内部网络执行传输操作,最后删除临时Redis缓存和其他未使用的资源。