У меня более 15000 элементов POCO, хранящихся в списке Redis.Я использую ServiceStack, чтобы сохранить и получить их.Тем не менее, я не доволен временем отклика, которое у меня есть, когда я получаю их в сетке.Пока я читаю, было бы лучше сохранить эти объекты в хэше, но, к сожалению, я не смог найти хорошего примера для моего случая: (
Это метод, который я использую, чтобы поместить их в мою таблицу
public IEnumerable<BookingRequestGridViewModel> GetAll()
{
try
{
var redisManager = new RedisManagerPool(Global.RedisConnector);
using (var redis = redisManager.GetClient())
{
var redisEntities = redis.As<BookingRequestModel>();
var result =redisEntities.Lists["BookingRequests"].GetAll().Select(z=> new BookingRequestGridViewModel
{
CreatedDate =z.CreatedDate,
DropOffBranchName =z.DropOffBranch !=null ? z.DropOffBranch.Name : string.Empty,
DropOffDate =z.DropOffDate,
DropOffLocationName = z.DropOffLocation != null ? z.DropOffLocation.Name : string.Empty,
Id =z.Id.Value,
Number =z.Number,
PickupBranchName =z.PickUpBranch !=null ? z.PickUpBranch.Name :string.Empty,
PickUpDate =z.PickUpDate,
PickupLocationName = z.PickUpLocation != null ? z.PickUpLocation.Name : string.Empty
}).OrderBy(z=>z.Id);
return result;
}
}
catch (Exception ex)
{
return null;
}
}
Обратите внимание, что я использую redisEntities.Lists["BookingRequests"].GetAll()
, что вызывает проблемы с производительностью (я хотел бы использовать только redisEntities.Lists["BookingRequests"]
, но я теряю последние обновления из сетки - после редактирования)
Я бы хотелхотелось бы знать, является ли сохранение их в списке хорошим подходом, так как для меня очень важно иметь быструю сетку (у меня теперь есть 1 секунда при огромной подкачке).
Пожалуйста, совет!