Dv
Size: a a a
Dv
Dv
DP
Dv
Dv
Dv
Dv
DP
Dv
Dv
Dv
Dv
G
private readonly ConcurrentDictionary<int, object> _cache1 = new();
private readonly ConcurrentDictionary<int, Task<object>> _cache2 = new();
public async Task<object> GetByIdAsync1(int id)
{
if (!_cache.TryGetValue(id, out var value)
{
value = await _db.GetByIdAsync(id);
_cache1.Add(id, value);
}
return value;
}
public Task<object> GetByIdAsync2(int id) =>
_cache2.GetOrAdd(id, _db.GetByIdAsync);
AK
private readonly ConcurrentDictionary<int, object> _cache1 = new();
private readonly ConcurrentDictionary<int, Task<object>> _cache2 = new();
public async Task<object> GetByIdAsync1(int id)
{
if (!_cache.TryGetValue(id, out var value)
{
value = await _db.GetByIdAsync(id);
_cache1.Add(id, value);
}
return value;
}
public Task<object> GetByIdAsync2(int id) =>
_cache2.GetOrAdd(id, _db.GetByIdAsync);
AK
AK
G
AK