i have found solution, get list part by part, tested it with microtime and memory usage. It takes a little bit more time, but much less memory on list with 1000000 records.
public static function processRedisList($Start, $End, $ListName
$ElementToFind, $Found = false, $Part
){
while($Found != true) {
//
$Data = NoSQL_Singleton::Rediska()->getList($ListName, $Start, $End);
if (!empty($Data)) {
foreach ($Data as $Key => $Value) {
//process List here
//do what you want
$Found = true;
return $Found;
}
$Start = $Start + $Part;
$End = $End + $Part;
}
}
return false;
}