diff --git a/src/Umbraco.Infrastructure/Cache/MemberRepositoryUsernameCachePolicy.cs b/src/Umbraco.Infrastructure/Cache/MemberRepositoryUsernameCachePolicy.cs index 1dc5f42a01..807c3d2d2c 100644 --- a/src/Umbraco.Infrastructure/Cache/MemberRepositoryUsernameCachePolicy.cs +++ b/src/Umbraco.Infrastructure/Cache/MemberRepositoryUsernameCachePolicy.cs @@ -30,4 +30,10 @@ public class MemberRepositoryUsernameCachePolicy : DefaultRepositoryCachePolicy< return entity; } + + public void DeleteByUserName(string key, string? username) + { + var cacheKey = GetEntityCacheKey(key + username); + Cache.ClearByKey(cacheKey); + } } diff --git a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberRepository.cs b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberRepository.cs index 053cb15b2d..0815595c06 100644 --- a/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberRepository.cs +++ b/src/Umbraco.Infrastructure/Persistence/Repositories/Implement/MemberRepository.cs @@ -38,6 +38,7 @@ public class MemberRepository : ContentRepositoryBase - _memberByUsernameCachePolicy.GetByUserName("uRepo_userNameKey+", username, PerformGetByUsername, PerformGetAllByUsername); + _memberByUsernameCachePolicy.GetByUserName(UsernameCacheKey, username, PerformGetByUsername, PerformGetAllByUsername); public int[] GetMemberIds(string[] usernames) { @@ -508,6 +509,12 @@ public class MemberRepository : ContentRepositoryBase GetBaseQuery(bool isCount) => GetBaseQuery(isCount ? QueryType.Count : QueryType.Single); @@ -837,6 +844,8 @@ public class MemberRepository : ContentRepositoryBase