groupBy(['word', 'language']) ->cursor(); $wordCount = DB::select('SELECT count(*) from ( SELECT word,language from user_dicts group by word,language) T'); $bar = $this->output->createProgressBar($wordCount[0]->count); $count = 0; foreach ($words as $key => $word) { $meaning = UserDict::where('word', $word->word) ->where('language', $word->language) ->where('source', '_PAPER_RICH_') ->whereNotNull('mean') ->value('mean'); $meaning = trim($meaning, " $"); if (!empty($meaning)) { $m = explode('$', $meaning); RedisClusters::put("{$prefix}/{$word->word}/{$word->language}", $m[0]); } $bar->advance(); $count++; if ($count % 1000 === 0) { if (\App\Tools\Tools::isStop()) { return 0; } } } $bar->finish(); return 0; } }