diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index b2ce2f85a..f1fe53664 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -1486,9 +1486,11 @@ class ApiV1Controller extends Controller $limit = $request->input('limit') ?? 3; $user = $request->user(); - if(PublicTimelineService::count() == 0) { - PublicTimelineService::warmCache(true, 400); - } + Cache::remember('api:v1:timelines:public:cache_check', 3600, function() { + if(PublicTimelineService::count() == 0) { + PublicTimelineService::warmCache(true, 400); + } + }); if ($max) { $feed = PublicTimelineService::getRankedMaxId($max, $limit); diff --git a/app/Services/PublicTimelineService.php b/app/Services/PublicTimelineService.php index 6f003aed0..35382b050 100644 --- a/app/Services/PublicTimelineService.php +++ b/app/Services/PublicTimelineService.php @@ -48,10 +48,10 @@ class PublicTimelineService { public static function add($val) { - return; - - if(config('database.redis.client') === 'phpredis' && self::count() > 400) { - Redis::zpopmin(self::CACHE_KEY); + if(self::count() > 400) { + if(config('database.redis.client') === 'phpredis') { + Redis::zpopmin(self::CACHE_KEY); + } } return Redis::zadd(self::CACHE_KEY, $val, $val);