Merge pull request #54361 from nextcloud/backport/54357/stable31

[stable31] fix: increase how long we cache display names
This commit is contained in:
Robin Appelman 2025-08-14 15:51:51 +02:00 committed by GitHub
commit e5c2be1f54
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

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();