StackExchange.Redis SortAndStoreAsync

Я пытаюсь вызвать вышеуказанное, чтобы кэшировать отсортированный список людей при обновлении.

public Task WriteAsync(IDataTransaction transaction, Person model)
{
    var redis = transaction.GetContext<RedisTransactionContext>().RedisTransaction;

    redis.SetAddAsync("people", model.Identifier);
    redis.StringSetAsync(model.Identifier, JsonConvert.SerializeObject(model));
    redis.StringSetAsync($"people_name_{model.Identifier}", model.Name.FullReverse());

    redis.SortAndStoreAsync("people_by_name", "people", by: "people_name_*");

    return Task.CompletedTask;
}

тогда я звоню

var database = _connection.GetDatabase();
var identifiers = await database.ListRangeAsync("people_by_name", index, index + count);

но он не находит новый список, так как SortAndStoreAsync не создал отсортированный список - все остальные данные есть

я делаю что-то не так, поддерживается ли SortAndStoreAsync внутри транзакции?


person Anthony Johnston    schedule 06.06.2016    source источник


Ответы (1)


ах, я не добавил SortType.Alphabetic

redis.SortAndStoreAsync("people_by_name", "people", by: "people_name_*", sortType: SortType.Alphabetic);

как ты был ТАК :)

person Anthony Johnston    schedule 06.06.2016