Ejemplo n.º 1
0
 /// <summary>
 /// 尝试发送数据
 /// </summary>
 /// <typeparam name="T"></typeparam>
 /// <param name="dataList"></param>
 /// <param name="sendParam"></param>
 public void SendData <T>(T[] dataList, TransSendParam sendParam) where T : AbstractEntity, new()
 {
     //modify reason:提交到Redis同步队列处理
     DataSyncQueueManager.Send(dataList);
     //if (!sendParam.OnlyRedis)
     //{
     //    _dbTransponder.SendData(dataList, sendParam);
     //}
     //_redisTransponder.SendData(dataList, sendParam);
 }
Ejemplo n.º 2
0
 protected override void OnServiceStop()
 {
     GameEnvironment.Stop();
     //程序退出前redis异常缓存数据需备份
     if (!RedisConnectionPool.CheckConnect())
     {
         if (DataSyncQueueManager._entitySetExWaitList.Count > 0)
         {
             File.WriteAllBytes(_entitySetExFile, DataSyncQueueManager.GetEntityExWaitData());
         }
     }
 }
Ejemplo n.º 3
0
        public void SendToDb2()
        {
            var watch = Stopwatch.StartNew();
            var r     = new Random();
            var keys  = new List <string>(MyDataConfigger.DbKeys);

            for (int i = 0; i < 5; i++)
            {
                var data = new Alliance();
                data.AId     = (int)(10000 + i);
                data.Members = (int)(r.NextDouble() * 1000);
                DataSyncQueueManager.SendToDb(MyDataConfigger.DbKey, data);
                data.Members        = 1;
                data.TempTimeModify = DateTime.Now;
                DataSyncQueueManager.SendToDb(MyDataConfigger.DbKey, data);
            }
            WaitEnd(watch);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Redis rdb是否正常
        /// </summary>
        /// <returns></returns>
        public static bool isRedisRdbWork()
        {
            if (!string.IsNullOrEmpty(_redisRdbPath))
            {
                var fi        = new System.IO.FileInfo(_redisRdbPath);
                var totalSecs = (DateTime.Now - fi.LastWriteTime).TotalSeconds;
                if (totalSecs > 600)
                {
                    return(false);
                }
                else if (totalSecs >= 300)
                {
                    DataSyncQueueManager.BgSave();
                }
            }

            return(true);
        }
Ejemplo n.º 5
0
        public void SendToDb()
        {
            int id    = 1380001;
            var watch = Stopwatch.StartNew();

            for (int i = 0; i < 10; i++)
            {
                var log = new LoginLog();
                log.UserId     = id + i;
                log.NickName   = "cocos";
                log.RoleLv     = 1;
                log.RetailId   = "000";
                log.CreateTime = DateTime.Now;

                DataSyncQueueManager.SendToDb(log);
                Trace.WriteLine("Running time:" + watch.ElapsedMilliseconds + "ms.");
            }
            WaitEnd(watch);
        }
Ejemplo n.º 6
0
        public void SendToDb()
        {
            var watch = Stopwatch.StartNew();
            var r     = new Random();
            var keys  = new List <string>(MyDataConfigger.DbKeys);

            keys.Add(MyDataConfigger.DbKey);
            foreach (var key in keys)
            {
                var log = new LoginLog();
                log.UserId     = (int)(r.NextDouble() * 10000);
                log.NickName   = "cocos" + r.NextDouble();
                log.RoleLv     = 1;
                log.RetailId   = "000";
                log.CreateTime = DateTime.Now;

                DataSyncQueueManager.SendToDb(key, log);
            }
            WaitEnd(watch);
        }