Example #1
0
        /// <summary>
        /// 数据插入
        /// </summary>
        static void MongodbInsert()
        {
            try
            {
                System.Diagnostics.Stopwatch sw    = new System.Diagnostics.Stopwatch();
                List <TerLastInfo>           lists = new List <TerLastInfo>();
                for (int i = 0; i < 1000000; i++)
                {
                    lists.Add(new TerLastInfo()
                    {
                        Id         = Guid.NewGuid().ToString(),
                        AccStatus  = 0,
                        RunStatus  = 1,
                        BLatitude  = 22.36363,
                        BLongitude = 110.56989,
                        IMEI       = "860000000" + i.ToString().PadLeft(6, '0'),
                        Latitude   = 22.36363,
                        LocateTime = DateTime.Now,
                        LocateType = 1,
                        Longitude  = 110.56989,
                        Mileage    = 10,
                        MLatitude  = 9,
                        MLongitude = 8,
                        TerID      = i,
                    });
                }

                sw.Start();
                MG_BaseDAL <TerLastInfo> dal = new MG_BaseDAL <TerLastInfo>();
                dal.InsertBatch(lists);
                sw.Stop();
                TimeSpan ts2 = sw.Elapsed;
                System.Console.WriteLine("总耗时:" + ts2.TotalMilliseconds);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.StackTrace);
            }
        }
Example #2
0
        static void Main(string[] args)
        {
            try
            {
                Console.WriteLine("---------u  上传文件------d 清空所有文件---- t 测试并行下载");
                while (true)
                {
                    var input = Console.ReadLine().ToLower();
                    MG_BaseDAL <FastDFSData> dal = null;
                    switch (input)
                    {
                    case "u":
                        var                filePath = AppDomain.CurrentDomain.BaseDirectory.ToString() + @"\\test.jpg";
                        FastDfsFile        fsFile;
                        List <FastDFSData> listSave = new List <FastDFSData>();
                        for (int i = 0; i < loop; i++)
                        {
                            fsFile = FastDfsHelper.Upload(filePath);
                            if (fsFile != null)
                            {
                                listSave.Add(new FastDFSData()
                                {
                                    Id           = Path.GetFileNameWithoutExtension(fsFile.FileName).TrimEnd('.'),
                                    DownLoadHost = WebHtpp,
                                    AbosoluteUrl = fsFile.ToString(),
                                    CreateTime   = DateTime.Now,
                                    FileExt      = Path.GetExtension(fsFile.FileName).Trim('.'),
                                    FileName     = Path.GetFileName(fsFile.FileName)
                                });
                            }
                        }
                        dal = new MG_BaseDAL <FastDFSData>();
                        dal.InsertBatch(listSave);
                        Console.WriteLine($"成功导入数据{listSave.Count}");
                        break;

                    case "d":
                        dal = new MG_BaseDAL <FastDFSData>();
                        List <FastDFSData> listAll = dal.Find(p => p.Id != "").ToList();
                        foreach (var item in listAll)
                        {
                            FastDfsHelper.Remove(FastDfsHelper.Config.GroupName, item.AbosoluteUrl.Substring(8));
                        }
                        dal.DeleteByExpressionM(p => !string.IsNullOrEmpty(p.Id));
                        Console.WriteLine("清理完成!");
                        break;

                    case "t":
                        //并行测试直接下载
                        try
                        {
                            var savePath = ConfigurationManager.AppSettings["SavePath"];
                            dal = new MG_BaseDAL <FastDFSData>();
                            List <FastDFSData> listTest = dal.Find(p => !string.IsNullOrEmpty(p.Id)).ToList();
                            int directoryIndex          = 0;
                            int excuteNum = 0;
                            for (int i = 0; i < 1; i++)
                            {
                                directoryIndex = i / 10;
                                if (!Directory.Exists(savePath + $@"{directoryIndex}"))
                                {
                                    Directory.CreateDirectory(savePath + $@"{directoryIndex}");
                                }
                                ParallelLoopResult result = Parallel.For(0, 1, (k, state) =>
                                {
                                    using (WebClient web = new WebClient())
                                    {
                                        web.DownloadFile(listTest[i].DownLoadHost + listTest[i].AbosoluteUrl, savePath + $@"{directoryIndex}\{Guid.NewGuid().ToString()}.json");
                                        System.Threading.Interlocked.Increment(ref excuteNum);
                                        Console.WriteLine("excuting..." + excuteNum);
                                    }
                                });
                            }
                        }
                        catch (Exception ex)
                        {
                            Console.WriteLine(ex.Message);
                        }

                        break;
                    }
                }


                //Console.WriteLine("masterFileName is " + masterFileName + "\r\n slavefileName  is " + slavefileName + "");
            }
            catch (Exception ex)
            {
                Console.WriteLine("error :" + ex.Message);
            }
            Console.ReadKey();
        }