Стоит заметить, что кеш сам по себе не может служить в роли постоянного хранилища. И forever() говорит лишь запомнить данные на максимальное количество времени.
Так же стоит посмотреть ваш скрипт развертывания приложения, возможно в нем выполняется команда \Cache::flush(), которая чистит весь кеш. php artisan cache:reset - выполняет тоже самое действие.
В конфигах есть
вот такая вот строчка, которая позволит ограничить область действия ресета кеша "своей" базой данных.
А чтобы попытаться получить хоть какую-то постоянность хранилища -
пользуйтесь \Redis
ps: ответить более подробно довольно сложно, потому что неизвестно что происходит в вашем приложении. Может ваш код сам затирает данные из-за логической ошибки и вы ставите ваш же ключ \Cache::forever('key', null);