Некоторые источники, включая официальную документацию Redis, отмечают, что использование команды KEYS - плохая идея в производственных средах из-за возможной блокировки. Если приблизительный размер набора данных известен, имеет ли SCAN какое-либо преимущество перед KEYS?
Например, рассмотрите базу данных с не более чем 100 ключами данных формы data:number:X где X - целое число. Если я хочу получить все эти данные, я могу использовать команду KEYS data:number:*. Будет ли это значительно медленнее, чем использование данных SCAN 0 MATCH data:number:* COUNT 100? Или две команды по существу эквивалентны в этом случае? Можно ли сказать, что SCAN предпочтительнее KEYS потому что он защищает от сценария, в котором будет возвращен неожиданно большой набор?