private void EnterPipeline() { if (Interlocked.CompareExchange(ref _pipelineMode, 1, 0) == 0) { _pipeline = _client.CreatePipeline(); } }
private void UploadToCloud() { while (CloudDB > -1 && _LocalDB > -1) { try { using (ServiceStack.Redis.RedisClient client = getClient()) { if (!client.Ping()) { continue; } client.Db = CloudDB; if (client.Exists("Machine") == 0) { RegisterConfigure(client); } ServiceStack.Redis.RedisClient localclient = new ServiceStack.Redis.RedisClient("127.0.0.1", 6379); localclient.Db = LocalDB; if (localclient.Exists("Machine") == 0) { RegisterConfigure(localclient); } if (localclient.LLen("SampleData") > 99) { List <String> listData = localclient.GetRangeFromList("SampleData", 0, 99); using (var trans = client.CreatePipeline()) //Calls 'MULTI' { for (int i = 0; i < listData.Count; i++) { trans.QueueCommand(r => r.AddItemToList("SampleData", listData[i])); } trans.Flush(); } localclient.LTrim("SampleData", listData.Count, -1); } UploudGCodeToCloud(client, localclient); } } catch (Exception ex) { Console.WriteLine("Upload to cloud:" + ex.Message); } System.Threading.Thread.Sleep(10); } }
private void UploudGCodeToCloud(ServiceStack.Redis.RedisClient client, ServiceStack.Redis.RedisClient localclient) { List <String> GCodeFiles = localclient.SearchKeys("GCODE:*"); if (GCodeFiles != null) { for (int i = 0; i < GCodeFiles.Count; i++) { List <String> listData = localclient.GetRangeFromList(GCodeFiles[i], 0, -1); localclient.Remove(GCodeFiles[i]); client.Remove(GCodeFiles[i]); using (var trans = client.CreatePipeline()) //Calls 'MULTI' { for (int j = 0; j < listData.Count; j++) { trans.QueueCommand(r => r.AddItemToList(GCodeFiles[i], listData[j])); } trans.Flush(); } } } }