mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-22 06:21:27 +00:00
Update FollowerService, add forget method to RelationshipService call to reduce load when mass purging
This commit is contained in:
parent
a04ba18113
commit
347e4f59a3
2 changed files with 14 additions and 2 deletions
|
@ -20,10 +20,14 @@ class FollowerService
|
|||
const FOLLOWING_KEY = 'pf:services:follow:following:id:';
|
||||
const FOLLOWERS_KEY = 'pf:services:follow:followers:id:';
|
||||
|
||||
public static function add($actor, $target)
|
||||
public static function add($actor, $target, $refresh = true)
|
||||
{
|
||||
$ts = (int) microtime(true);
|
||||
if($refresh) {
|
||||
RelationshipService::refresh($actor, $target);
|
||||
} else {
|
||||
RelationshipService::forget($actor, $target);
|
||||
}
|
||||
Redis::zadd(self::FOLLOWING_KEY . $actor, $ts, $target);
|
||||
Redis::zadd(self::FOLLOWERS_KEY . $target, $ts, $actor);
|
||||
Cache::forget('profile:following:' . $actor);
|
||||
|
|
|
@ -66,6 +66,14 @@ class RelationshipService
|
|||
return self::get($aid, $tid);
|
||||
}
|
||||
|
||||
public static function forget($aid, $tid)
|
||||
{
|
||||
Cache::forget('pf:services:follower:audience:' . $aid);
|
||||
Cache::forget('pf:services:follower:audience:' . $tid);
|
||||
self::delete($tid, $aid);
|
||||
self::delete($aid, $tid);
|
||||
}
|
||||
|
||||
public static function defaultRelation($tid)
|
||||
{
|
||||
return [
|
||||
|
|
Loading…
Reference in a new issue