public Task <bool> GameUserActiveAsync(string gameAppId, long gameUserSequentialId, DateTimeOffset?dateTime) { if (gameUserSequentialId <= 0) { throw new ArgumentException("gameUserSequentialId should larger than 0"); } string activeTrackerKey = RedisKeys.Concat(gameAppId, RedisKeys.GameUserActiveTracker, (dateTime ?? DateTimeOffset.Now).ToString("yyyyMMdd")); return(redisProvider.StringSetBitAsync(activeTrackerKey, gameUserSequentialId)); }