Laravel memcached ошибки после случайного времени - PullRequest
0 голосов
/ 06 февраля 2020

Здравствуйте, я использую memcached в laravel приложении 5.8.

Через некоторое время ошибка:

production.ERROR: Invalid argument supplied for foreach()

Код в контроллере:

$page = \Request::get('page', '0');

           Cache::tags('posts')->remember('page-'.$page, 15, function(){
               return Post::orderBy('created_at', 'desc')
                               ->paginate(20);
           });

$posts = Cache::tags('posts')->get('page-'.$page);

Ошибка возникает из-за @foreach l oop в представлении.

Когда я получаю ошибку, я могу исправить ее, перезапустив сервер, но это это не очень хорошее решение. Как я могу предотвратить эту проблему и все еще использовать memcached?

Я уверен, что это происходит из кеша, потому что если я изменю драйвер кеша на array, то ошибка исчезнет.

Обновление:

Поэтому я попытался изменить значение с remember на rememberForever в контроллере, но проблема остается. Это ошибки и единственным решением является отключение кеша или перезагрузка сервера. В противном случае это дает мне production.ERROR: Invalid argument supplied for foreach().

...