mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-26 00:03:16 +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 FOLLOWING_KEY = 'pf:services:follow:following:id:';
|
||||||
const FOLLOWERS_KEY = 'pf:services:follow:followers: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);
|
$ts = (int) microtime(true);
|
||||||
RelationshipService::refresh($actor, $target);
|
if($refresh) {
|
||||||
|
RelationshipService::refresh($actor, $target);
|
||||||
|
} else {
|
||||||
|
RelationshipService::forget($actor, $target);
|
||||||
|
}
|
||||||
Redis::zadd(self::FOLLOWING_KEY . $actor, $ts, $target);
|
Redis::zadd(self::FOLLOWING_KEY . $actor, $ts, $target);
|
||||||
Redis::zadd(self::FOLLOWERS_KEY . $target, $ts, $actor);
|
Redis::zadd(self::FOLLOWERS_KEY . $target, $ts, $actor);
|
||||||
Cache::forget('profile:following:' . $actor);
|
Cache::forget('profile:following:' . $actor);
|
||||||
|
|
|
@ -66,6 +66,14 @@ class RelationshipService
|
||||||
return self::get($aid, $tid);
|
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)
|
public static function defaultRelation($tid)
|
||||||
{
|
{
|
||||||
return [
|
return [
|
||||||
|
|
Loading…
Reference in a new issue