public async Task Can_scan_100_collection_over_cursor() { var allKeys = new HashSet <string>(); await RedisAsync.FlushAllAsync(); var keys = 100.Times(x => "KEY" + x); await RedisAsync.SetAllAsync(keys.ToSafeDictionary(x => x)); var i = 0; var ret = new ScanResult(); while (true) { ret = await NativeAsync.ScanAsync(ret.Cursor, 10); i++; ret.AsStrings().ForEach(x => allKeys.Add(x)); if (ret.Cursor == 0) { break; } } Assert.That(i, Is.GreaterThanOrEqualTo(2)); Assert.That(allKeys.Count, Is.EqualTo(keys.Count)); Assert.That(allKeys, Is.EquivalentTo(keys)); }
public async Task Can_scan_and_search_10_collection() { await RedisAsync.FlushAllAsync(); var keys = 11.Times(x => "KEY" + x); await RedisAsync.SetAllAsync(keys.ToSafeDictionary(x => x)); var ret = await NativeAsync.ScanAsync(0, 11, match : "KEY1*"); Assert.That(ret.Cursor, Is.GreaterThanOrEqualTo(0)); Assert.That(ret.AsStrings(), Is.EquivalentTo(new[] { "KEY1", "KEY10" })); }
public async Task Can_scan_10_collection() { await RedisAsync.FlushAllAsync(); var keys = 10.Times(x => "KEY" + x); await RedisAsync.SetAllAsync(keys.ToSafeDictionary(x => x)); var ret = await NativeAsync.ScanAsync(0); Assert.That(ret.Cursor, Is.GreaterThanOrEqualTo(0)); Assert.That(ret.AsStrings(), Is.EquivalentTo(keys)); }