数据库分表:归档 当数据量庞大的时候,水平分表,适当归档
昨晚爬金东数据,开了10个线程,没有给线程sleep,然后爬的慢不说。有时候ajax请求的价格返回给我的是空的,今天打算做一个winform的工具,支持断点续爬,原理我觉得应该是在爬url的时候,没爬完一个url,给这条信息加一个字段isSuc =true的表记,这样下次爬的时候直接找这个字段为false 就行。
缓存 cache 性能优化的第一步就是缓存
get 一个新方法
1 /// <summary> 2 /// 3 /// </summary> 4 /// <typeparam name="T"></typeparam> 5 /// <param name="key">缓存的项</param> 6 /// <param name="acquire">没有缓存的时候获取数据的方式</param> 7 /// <param name="cacheTime">单位分钟 默认30</param> 8 /// <returns></returns> 9 public static T Get<T>(string key, Func<T> acquire, int cacheTime = 30) 10 { 11 if (cache.Contains(key)) 12 { 13 return GetData<T>(key); 14 } 15 else 16 { 17 T result = acquire.Invoke();//执行委托 获取委托结果 作为缓存值 18 cache.Add(key, result, cacheTime); 19 return result; 20 } 21 }
这样写的好处 自己看, 厉害了!