我使用以下代碼提取所有以「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命令,從來沒有任何問題 –