/// <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); } }
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(); }