| 
					
				 | 
			
			
				@@ -96,40 +96,40 @@ namespace WCS.Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //static ConcurrentQueue<PackInfo> Packs = new ConcurrentQueue<PackInfo>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         private static Dictionary<string, Playerback> Clients = new Dictionary<string, Playerback>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        private static RedisClient Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //private static RedisClient Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static RedisClient YG150Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         public static RedisClient YGWMS150Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        public static RedisClient YGWCS150Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //public static RedisClient YGWCS150Redis; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         static ProtocolProxy() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             MessagePackSerializer.DefaultOptions = StandardResolver.Options.WithCompression(MessagePackCompression.Lz4Block); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //Redis = new RedisClient("192.168.249.120,password=123456,database=11"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Redis = new RedisClient("212.64.66.35,database=10"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Redis.Serialize = obj => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var bytes = MessagePackSerializer.Serialize(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            Redis.DeserializeRaw = (bytes, type) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var obj = MessagePackSerializer.Deserialize(type, bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //Redis = new RedisClient("212.64.66.35,database=10"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //Redis.Serialize = obj => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    var bytes = MessagePackSerializer.Serialize(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    return bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //Redis.DeserializeRaw = (bytes, type) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    var obj = MessagePackSerializer.Deserialize(type, bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             YG150Redis = new RedisClient("192.168.249.150,password=123456,database=1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             YGWMS150Redis = new RedisClient("192.168.249.150,password=123456,database=0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            YGWCS150Redis = new RedisClient("192.168.249.150,password=123456,database=10"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            YGWCS150Redis.Serialize = obj => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var bytes = MessagePackSerializer.Serialize(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            YGWCS150Redis.DeserializeRaw = (bytes, type) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var obj = MessagePackSerializer.Deserialize(type, bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //YGWCS150Redis = new RedisClient("192.168.249.150,password=123456,database=10"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //YGWCS150Redis.Serialize = obj => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    var bytes = MessagePackSerializer.Serialize(obj); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    return bytes; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //YGWCS150Redis.DeserializeRaw = (bytes, type) => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    var obj = MessagePackSerializer.Deserialize(type, bytes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //    return obj; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //}; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //static ConcurrentDictionary<string, DeviceData> Datas = new ConcurrentDictionary<string, DeviceData>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -193,15 +193,15 @@ namespace WCS.Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var gs = AllDatas.GroupBy(v => v.Value.GetType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Parallel.ForEach(gs, g => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var value = g.Select(v => v.Value).ToArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var etype = g.Key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var type = typeof(DeviceDataCollection<>).MakeGenericType(etype); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var coll = Activator.CreateInstance(type, LogicHandler.Frame, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Redis.Set(etype.Name, coll); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    YGWCS150Redis.Set(etype.Name, coll); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //Parallel.ForEach(gs, g => 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    var value = g.Select(v => v.Value).ToArray(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    var etype = g.Key; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    var type = typeof(DeviceDataCollection<>).MakeGenericType(etype); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    var coll = Activator.CreateInstance(type, LogicHandler.Frame, value); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    Redis.Set(etype.Name, coll); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    YGWCS150Redis.Set(etype.Name, coll); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 DeviceDataPack pack = new DeviceDataPack(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 pack.Frame = LogicHandler.Frame; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 foreach (var g in gs) 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -216,28 +216,28 @@ namespace WCS.Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var sw = new Stopwatch(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sw.Start(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Redis.Set(nameof(DeviceDataPack), pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                YGWCS150Redis.Set(nameof(DeviceDataPack), pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //Redis.Set(nameof(DeviceDataPack), pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //YGWCS150Redis.Set(nameof(DeviceDataPack), pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 sw.Stop(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Console.ForegroundColor = ConsoleColor.Blue; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Console.WriteLine($"Redis耗时{sw.ElapsedMilliseconds}"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 Console.ResetColor(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                Redis.RPush("Packs", pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                YGWCS150Redis.RPush("Packs", pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //Redis.RPush("Packs", pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //YGWCS150Redis.RPush("Packs", pack); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var len = Redis.LLen("Packs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (len > 150000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    Redis.LTrim("Packs", 20000, len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //var len = Redis.LLen("Packs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //if (len > 150000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    Redis.LTrim("Packs", 20000, len); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var len1 = YGWCS150Redis.LLen("Packs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (len1 > 150000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    YGWCS150Redis.LTrim("Packs", 20000, len1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //var len1 = YGWCS150Redis.LLen("Packs"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //if (len1 > 150000) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //    YGWCS150Redis.LTrim("Packs", 20000, len1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 foreach (var data in AllDatas) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 { 
			 |