当服务器请求每秒多次更新该实体时,如何优化实体的更新?用于更新的方法开发如下:
public async Task<bool> Update(T entity, string key)
{
try
{
MakeConnection();
var trans = _db.BeginTransaction();
var type = typeof(T);
var keyFactory = _db.CreateKeyFactory(type.Name);
var task = trans.Lookup(keyFactory.CreateKey(key));
if (task != null)
{
_cache.KeyCache[type.Name] = _db.CreateKeyFactory(type.Name);
var entities = _mapper.Map<Entity>(entity);
task = entities;
trans.Update(task);
}
await trans.CommitAsync();
}
catch (Exception e)
{
throw new InvalidOperationException($"An error occurred, {e}");
}
return true;
}
这是错误:
InvalidOperationException: An error occurred, Grpc.Core.RpcException: Status(StatusCode=Aborted, Detail="too much contention on these datastore entity. please try again. entity groups: [(app=p~******** , *********, "76fcb9c1-009e-****-b54f-68a45e9c****")]")