mirror of https://github.com/pixelfed/pixelfed
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
41 lines
946 B
PHP
41 lines
946 B
PHP
<?php
|
|
|
|
namespace App\Services\Account;
|
|
|
|
use Illuminate\Support\Facades\Redis;
|
|
|
|
class AccountStatService
|
|
{
|
|
const REFRESH_CACHE_KEY = 'pf:services:accountstats:refresh:daily';
|
|
|
|
public static function incrementPostCount($pid)
|
|
{
|
|
return Redis::zadd(self::REFRESH_CACHE_KEY, $pid, $pid);
|
|
}
|
|
|
|
public static function decrementPostCount($pid)
|
|
{
|
|
return Redis::zadd(self::REFRESH_CACHE_KEY, $pid, $pid);
|
|
}
|
|
|
|
public static function removeFromPostCount($pid)
|
|
{
|
|
return Redis::zrem(self::REFRESH_CACHE_KEY, $pid);
|
|
}
|
|
|
|
public static function getAllPostCountIncr($limit = -1)
|
|
{
|
|
return Redis::zrange(self::REFRESH_CACHE_KEY, 0, $limit);
|
|
}
|
|
|
|
public static function getPostCountChunk($lastId, $count)
|
|
{
|
|
return Redis::zrangebyscore(
|
|
self::REFRESH_CACHE_KEY,
|
|
'('.$lastId,
|
|
'+inf',
|
|
['limit' => [0, $count]]
|
|
);
|
|
}
|
|
}
|