Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        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" }));
        }
Ejemplo n.º 3
0
        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));
        }