2016-05-03 2 views
1

Вот мой кодStackExchange.Redis IDatabase.SetScan() не возвращает курсор

ConnectionMultiplexer plex; 
plex = redisConnectionProvider.GetMultiplexer(); 
var db = plex.GetDatabase(); 
var values = db.SetScan(key); 

Я думал, что возвращаемые значения SetScan будет IEnumerable <> где первый элемент является курсором и второй элемент представляет собой набор значений из набора Redis. Но результат содержит только набор элементов - значение курсора. Что мне здесь не хватает?

ответ

0

SetScan фактически возвращает IEnumerable<RedisValue>.

Курсор будет внутренне обработан библиотекой. В зависимости от ваших параметров и функций сервера он будет использовать SMEMBERS или SSCAN.

Вы можете работать над результирующей IEnumerable, например:

IEnumerable<RedisValue> values = db.SetScan(key, "a*"); 
var firstItem = values.First(); 

Вернется первого элемента, начиная с .

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