【发布时间】:2015-07-06 12:40:51
【问题描述】:
我目前正在使用 Jedis 从 redis 数据库服务器获取我的数据。我需要将这些数据推送到 MySQL。 redis 服务器中有数百万条记录。使用以下语句,我可以将数据复制到一个集合中:
String pattern = "users*";//All keys starting with users
Set<String> users = jedis.keys(pattern)//Read all the keys in to set
现在我的users 集包含了所有记录。但是在 redis 数据库中可能有数百万条记录与我的模式匹配。这最终会消耗我所有的记忆。我该怎么做像下面这样的事情
for(All the keys that match my pattern){
Set<String> set = get current to (current+10000) records from server
...Code to push 10K records to MySQL...
current = current + 10001;
}
或者请建议是否有一种优雅的方法
【问题讨论】:
-
查看 Jedis 对 Redis 的
SCANAPI 的实现。 -
@ItamarHaber 非常感谢!这有帮助
标签: mysql memory redis jedis nosql