Php Laravel缓存刷新而不影响服务

Php Laravel缓存刷新而不影响服务,php,laravel,caching,spatie,Php,Laravel,Caching,Spatie,我在我的Laravel应用程序中使用这个包来缓存一天两次的大规模API响应。问题是应用程序一直在使用,如果有人在刷新API时访问API,缓存刷新会导致服务停机 对于当前的解决方案,我首先调用php artisan responsecache:clear,然后运行缓存请求。我在想,是否有可能在后台缓存API响应,并在后台缓存完成时覆盖旧缓存,而不需要任何服务停机时间?我认为您可以使用自定义缓存配置文件类来实现这一点。。。我没有试过这个;但我认为,如果您将“useCacheNameSuffix”方法

我在我的Laravel应用程序中使用这个包来缓存一天两次的大规模API响应。问题是应用程序一直在使用,如果有人在刷新API时访问API,缓存刷新会导致服务停机


对于当前的解决方案,我首先调用
php artisan responsecache:clear
,然后运行缓存请求。我在想,是否有可能在后台缓存API响应,并在后台缓存完成时覆盖旧缓存,而不需要任何服务停机时间?

我认为您可以使用自定义缓存配置文件类来实现这一点。。。我没有试过这个;但我认为,如果您将“useCacheNameSuffix”方法配置为在缓存键的末尾附加“版本”或“生成”编号,那么它应该可以工作。您需要在某个地方保持这种状态—缓存中应该可以工作

当你想重新生成缓存时,你增加这个缓存键,生成一个新的缓存,然后保存新的缓存键;有多种方法可以做到这一点——作为神奇的查询字符串参数使用,或者理想情况下作为命令行任务使用