我使用以下代码提取所有以“NAME:”开头的密钥,并且它只返回超过5,000条记录(我的索引中有超过60,000个密钥)。任何人都可以解释它为什么会发生,或者我如何从Redis数据库中提取所有密钥。从Redis中提取密钥
jedis.select(3);
Set<String> names=jedis.keys("NAME:*");
Iterator<String> it = names.iterator();
while (it.hasNext()) {
String s = it.next();
System.out.println(s);
}
你确定所有的钥匙都以“NAME:”开头吗?我认为keys命令是区分大小写的,所以如果你有“name:”或“Name:”它将不匹配。 – xetorthio
感谢您的回复。是的,我确定我所有的钥匙都以“NAME:”开头。另外我手动提取Keys以“NAME:”开头,并且有超过60,000个结果。 – BonBoon
这听起来很奇怪,是你选择的数据库中的所有键?你使用jedis String api或byte []来写密钥吗?我在几个场景中使用了keys命令,从来没有任何问题 –