Improved getusers cache key #18
@@ -34,7 +34,8 @@ public sealed class UserCacheService(UserService service, IDistributedCache cach
|
|||||||
public async ValueTask<Result<User[]>> GetUsersAsync(Pagination pagination, UserFilterRequest request, CancellationToken cancellationToken = default) =>
|
public async ValueTask<Result<User[]>> GetUsersAsync(Pagination pagination, UserFilterRequest request, CancellationToken cancellationToken = default) =>
|
||||||
await Result.Try((Func<ValueTask<Result<User[]>>>)(async () =>
|
await Result.Try((Func<ValueTask<Result<User[]>>>)(async () =>
|
||||||
{
|
{
|
||||||
var cacheKey = HashService.ToMd5Hash($"getusers-{pagination.Page}-{pagination.PageSize}-{request.Email}-{request.Status}").Value;
|
var cacheKey = HashService.ToMd5Hash($"getusers-{pagination.Page}-{pagination.PageSize}-" +
|
||||||
|
$"{request.Email}-{request.Status}-{request.SortBy}-{request.SortDescending}").Value;
|
||||||
|
|
||||||
var cached = await cache.GetStringAsync(cacheKey, cancellationToken);
|
var cached = await cache.GetStringAsync(cacheKey, cancellationToken);
|
||||||
|
|
||||||
@@ -44,7 +45,8 @@ public sealed class UserCacheService(UserService service, IDistributedCache cach
|
|||||||
|
|
||||||
if (usersResult.IsFailed) return usersResult;
|
if (usersResult.IsFailed) return usersResult;
|
||||||
|
|
||||||
await cache.SetStringAsync(cacheKey, JsonSerializer.Serialize(usersResult.Value), cacheOptions, cancellationToken);
|
await cache.SetStringAsync(cacheKey, JsonSerializer.Serialize(usersResult.Value),
|
||||||
|
cacheOptions, cancellationToken);
|
||||||
|
|
||||||
return usersResult;
|
return usersResult;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user