static void HASHTEST0() { Console.WriteLine("HashMap,管道,先整理好所有KEYVALUE,再一次性写入"); Console.WriteLine("请输入写入次数:"); var count = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始整理。。。"); var rds = new CSRedis.CSRedisClient("127.0.0.1:6379,defaultDatabase=1,poolsize=100,ssl=false,writeBuffer=1024000"); var stw = Stopwatch.StartNew(); var vals = new List <object>(); for (int i = 0; i < count; i++) { vals.Add(Guid.NewGuid().ToString()); vals.Add(i); } stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 整理完成,耗时{stw.Elapsed.TotalMilliseconds} 毫秒。。。"); stw.Restart(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始写入。。。"); rds.StartPipe(p => rds.HMSet("asdfghj3kl1", vals.ToArray())); stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis {count} 次写入完成,耗时{stw.Elapsed.TotalMilliseconds} 毫秒"); }
static void ZSetWriteTest() { Console.WriteLine("ZSet 写入测试"); Console.WriteLine("请输入DB:"); var db = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入KEY:"); var key = Console.ReadLine(); Console.WriteLine("请输入开始值:"); var start = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入结束值:"); var end = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始整理。。。"); var rds = new CSRedis.CSRedisClient(null, $"127.0.0.1:6379,defaultDatabase={db},poolsize=100,ssl=false,writeBuffer=102400"); var stw = Stopwatch.StartNew(); var vals = new List <(double, object)>(); for (int i = start; i < end; i++) { vals.Add((i * 10, $"{key}_{i}")); } stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 整理完成,耗时{stw.Elapsed.TotalMilliseconds} 毫秒。。。"); var page_size = 500000; var page_index = 0; var total_page = Convert.ToInt32(vals.Count / page_size) + (vals.Count % page_size > 0 ? 1 : 0); var stw01 = Stopwatch.StartNew(); do { stw.Restart(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis Page {page_index} 开始提取。。。"); var temp_vals = vals.Skip(page_index * page_size).Take(page_size); stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis Page {page_index} 提取耗时 {stw.ElapsedMilliseconds} 毫秒。。。"); stw.Restart(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis Page {page_index} 开始写入。。。"); rds.StartPipe(p => rds.ZAdd(key, temp_vals.ToArray())); stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis Page {page_index} 写入完成,耗时 {stw.ElapsedMilliseconds} 毫秒。。。"); page_index++; } while (total_page > page_index); stw01.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis {end - start} 次写入完成,耗时{stw01.Elapsed.TotalMilliseconds} 毫秒"); }
private void RemoveFromFetchedList() { var obj = _redisClient.StartPipe() .LRem(_storage.GetRedisKey($"queue:{Queue}:dequeued"), -1, JobId) .HDel(_storage.GetRedisKey($"job:{JobId}"), new string[] { "Fetched", "Checked" }) .EndPipe(); //databaseAsync.ListRemoveAsync(_storage.GetRedisKey($"queue:{Queue}:dequeued"), JobId, -1); //databaseAsync.HashDeleteAsync(_storage.GetRedisKey($"job:{JobId}"), new RedisValue[] { "Fetched", "Checked" }); }
static void HashWriteTest1() { Console.WriteLine("Hash 写入测试"); Console.WriteLine("请输入DB:"); var db = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入KEY:"); var key = Console.ReadLine(); Console.WriteLine("请输入开始值:"); var start = Convert.ToInt32(Console.ReadLine()); Console.WriteLine("请输入结束值:"); var end = Convert.ToInt32(Console.ReadLine()); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始整理。。。"); var rds = new CSRedis.CSRedisClient(null, $"127.0.0.1:6379,defaultDatabase={db},poolsize=100,ssl=false,writeBuffer=102400"); var stw = Stopwatch.StartNew(); var vals = new Dictionary <string, int>(); for (int i = start; i < end; i++) { vals.Add($"{key}_{i}", i); } stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 整理完成,耗时{stw.Elapsed.TotalMilliseconds} 毫秒。。。"); var stw01 = Stopwatch.StartNew(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 开始写入。。。"); rds.StartPipe(p => { foreach (var item in vals) { p.HSetNx(key, item.Key, item.Value); } }); stw.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis 写入完成,耗时 {stw.ElapsedMilliseconds} 毫秒。。。"); stw01.Stop(); Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss:ffff} Redis {end - start} 次写入完成,耗时{stw01.Elapsed.TotalMilliseconds} 毫秒"); }