BB.Caching.Redis.Analytics.Ops.AndAsync C# (CSharp) Méthode

AndAsync() public static méthode

Combines events by finding their logical intersection.
public static AndAsync ( ) : Task
Résultat Task
        public static async Task<RedisKey> AndAsync(params Event[] events)
        {
            var database = SharedCache.Instance.GetAnalyticsWriteConnection().GetDatabase(SharedCache.Instance.Db);

            // get the keys for the events (need to group subsets using TemporarilyOrKeys)
            var taskKeys = events.Select(
                async @event => await TemporarilyOrKeysAsync(database, await @event.RedisKeysAsync())).ToList();

            RedisKey[] keys = await Task.WhenAll(taskKeys);

            RedisKey tmpKey = TempKey(events);
            await BitwiseAnalytics.BitwiseAndAsync(database, tmpKey, keys.ToArray(), TimeSpan.FromHours(1));
            return tmpKey;
        }