fix: increase how long we cache display names

Signed-off-by: Robin Appelman <robin@icewind.nl>
This commit is contained in:
Robin Appelman 2025-08-11 11:19:58 +02:00
parent 5a07a2a5f9
commit 30b36efc33

View file

@ -24,6 +24,8 @@ use OCP\User\Events\UserDeletedEvent;
* @template-implements IEventListener<UserChangedEvent|UserDeletedEvent>
*/
class DisplayNameCache implements IEventListener {
private const CACHE_TTL = 24 * 60 * 60; // 1 day
/** @see \OC\Config\UserConfig::USER_MAX_LENGTH */
public const MAX_USERID_LENGTH = 64;
private array $cache = [];
@ -57,7 +59,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;
}
@ -72,7 +74,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();