2016-06-06 3 views
0

Я пытаюсь вызвать выше кэшировать отсортированный список людей на обновление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 поддерживается внутри транзакции?

ответ

0

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

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

как вы были так :)

Смежные вопросы