2016-05-03 6 views
1

Hier ist mein CodeStackExchange.Redis IDatabase.SetScan() nicht Cursor Rückkehr

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

Ich dachte, Rückgabewerte von SetScan wird ein IEnumerable < sein>, wobei das erste Element ein Cursor und das zweite Element ist ein Menge von Werten aus dem Redis-Set. Aber das Ergebnis enthält nur Mengenmitglieder - kein Cursor-Wert. Was fehlt mir hier?

Antwort

0

SetScan gibt tatsächlich eine IEnumerable<RedisValue> zurück.

Der Cursor wird intern von der Bibliothek behandelt. Abhängig von Ihren Parametern und Serverfunktionen wird SMEMBERS oder SSCAN verwendet.

Sie können über die resultierenden IEnumerable zum Beispiel arbeiten:

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

wird das erste verglichene Element mit ein Start zurück.

Verwandte Themen