Browse Source

Merge pull request #54357 from nextcloud/displayname-cache-duration

fix: increase how long we cache display names
pull/54345/head
Robin Appelman 3 months ago
committed by GitHub
parent
commit
106ac1b123
No known key found for this signature in database GPG Key ID: B5690EEEBB952194
  1. 6
      lib/private/User/DisplayNameCache.php

6
lib/private/User/DisplayNameCache.php

@ -25,6 +25,8 @@ use OCP\User\Events\UserDeletedEvent;
* @template-implements IEventListener<UserChangedEvent|UserDeletedEvent>
*/
class DisplayNameCache implements IEventListener {
private const CACHE_TTL = 24 * 60 * 60; // 1 day
private array $cache = [];
private ICache $memCache;
private IUserManager $userManager;
@ -56,7 +58,7 @@ class DisplayNameCache implements IEventListener {
$displayName = null;
}
$this->cache[$userId] = $displayName;
$this->memCache->set($userId, $displayName, 60 * 10); // 10 minutes
$this->memCache->set($userId, $displayName, self::CACHE_TTL);
return $displayName;
}
@ -71,7 +73,7 @@ class DisplayNameCache implements IEventListener {
$userId = $event->getUser()->getUID();
$newDisplayName = $event->getValue();
$this->cache[$userId] = $newDisplayName;
$this->memCache->set($userId, $newDisplayName, 60 * 10); // 10 minutes
$this->memCache->set($userId, $newDisplayName, self::CACHE_TTL);
}
if ($event instanceof UserDeletedEvent) {
$userId = $event->getUser()->getUID();

Loading…
Cancel
Save