Я пытаюсь заменить функцию клавиш из predis для сканирования, чтобы повысить производительность при некотором анализе, который мы выполняем.
Проблема в том, что когда я выполняю операцию сканирования, кажется, что она попадает в бесконечное l oop, что не имеет смысла, потому что согласно документации redis сканирование вернет итератор к 0, когда это будет сделано.
$it = null;
$keysFound = [];
do {
$redisKeys = $redis->scan($it,"*{$query}", 10);
if (!empty($keys)) {
array_merge($keysFound, $redisKeys);
}
} while($it != 0);
Я просто хочу заменить его, поэтому мы этого не делаем
$keys = $redis->keys("*{$query}");
Я перепробовал все, пожалуйста, помогите.
ОБНОВЛЕНИЕ Проверка на клик Я вижу, что он никогда не находит ключ и остается в l oop, даже если я поставлю точное тот же ключ, который я вижу в redsmin.
127.0.0.1:6379> scan 122880 MATCH x_dashboard_dashboard_row_1005_251
1) "118784"
2) (empty list or set)
127.0.0.1:6379> scan 118784 MATCH x_dashboard_dashboard_row_1005_251
1) "18432"
2) (empty list or set)
127.0.0.1:6379> scan 18432 MATCH x_dashboard_dashboard_row_1005_251
1) "59392"
2) (empty list or set)
127.0.0.1:6379> scan 59392 MATCH x_dashboard_dashboard_row_1005_251
1) "63488"
2) (empty list or set)
127.0.0.1:6379> scan 63488 MATCH x_dashboard_dashboard_row_1005_251
1) "123904"
2) (empty list or set)
127.0.0.1:6379> scan 123904 MATCH x_dashboard_dashboard_row_1005_251
1) "19456"
2) (empty list or set)
127.0.0.1:6379> scan 19456 MATCH x_dashboard_dashboard_row_1005_251
1) "121856"
2) (empty list or set)
127.0.0.1:6379> scan 121856 MATCH x_dashboard_dashboard_row_1005_251
1) "115200"
2) (empty list or set)
127.0.0.1:6379> scan 115200 MATCH x_dashboard_dashboard_row_1005_251
1) "119296"
2) (empty list or set)
127.0.0.1:6379> scan 119296 MATCH x_dashboard_dashboard_row_1005_251
1) "109056"
2) (empty list or set)
127.0.0.1:6379>
Есть что-то, что может быть неправильно настроено? Раньше я никогда не работал с Redis, поэтому не знаю, может ли это быть связано с неправильной конфигурацией.
решено Проблема заключалась в том, что у нас очень большое количество ключей, поэтому увеличение значения COUNT до большего правильные результаты.