`
qifeifei
  • 浏览: 27150 次
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
hi,   自己在做工程的时候,遇到批量插入数据的数据修复场景。我的思路是在插入前准备一个临时表,临时表的整理就看当时的选择条件了,临时表就是要插入的数据集,最后再批量插入到数据库中。    WITH tempT AS ( SELECT item_id AS combo_id, item_id, now() AS create_date FROM ali_item WHERE item_id NOT IN ( SELECT combo_id FROM ali_item_combo ) ) INSERT INTO ali_item_combo (combo_ ...
           Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就可以做到消息群发了,答案是可以的。充分利用这一点将能够解决我们项目中的很多问题。    
在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下:   public Long setnx(final byte[] key, final byte[] value) { checkIsInMulti(); client.setnx(key, value); return client.getIntegerReply(); }   它的意思是,设置这个key和value,前提是当前key不存在的情况下,还有一个重要前提,不存在多线程共享一个client,如 ...
自己写的一个开源爬虫框架,取名为Slit。现在的爬虫框架确实有很多,例如Nutch,Heritrix,webMagic等等我为什么又要自己写一个呢?这几个爬虫框架确实都不错,网上也有很多关于它们的评价,但是我发现它们中有很多功能我用不到,有些地方扩展性有点限制,然后自己一想搞个适合自己的轻框架,于是准备这个练手的项目Slit。   下面我对Slit项目做一些基本的介绍,包括项目的架构,内部运行逻辑,特点,怎么使用,和传统爬从比较等等。   1, Slit 的模块介绍    2, Slit 内部运行逻辑      2.1,Fetcher模块,主要负责从url等待队列头取url, ...
下面这段sql本来目的是想更新条件下的数据,可是这段sql却更新了整个表的数据。sql如下: UPDATE tops_visa.visa_order SET op_audit_abort_pass_date = now() FROM tops_visa.visa_order as t1 INNER JOIN tops_visa.visa_visitor as t2 ON t1. ID = t2.order_id WHERE t1.op_audit_abort_pass_date IS NULL AND ( t2. STATE = 'pch_abort_op_au ...
我使用的是ubuntu13.04系统,在安装nginx的时候遇到如下几个问题,然后找思路解决的,nginx 的下载与安装   wget http://nginx.org/download/nginx-1.0.11.tar.gz tar zxvf nginx-1.0.11.tar.gz ./configure make make install   安装的时候出现错误如下: ./configure: error: the HTTP rewrite module requires the PCRE library. You can either disable the mod ...
先看一下下面的错误代码,对写加了synchronized控制,保证了写的安全,但是问题在哪里呢? public class testTh7 { private String data; public String read(){ System.out.println(Thread.currentThread().getName() + "read data " + data); return this.data; } public synchronized void write(String data){ System.out.pri ...
 非常实用的java比较器,贴上代码: import java.util.HashSet; import java.util.List; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import org.apache.commons.collections.CollectionUtils; import org.apache.commons.lang.BooleanUtils; imp ...
在项目开发的时候,经常有一些输入框,控制输入的格式,而不是等输入好了再去检查格式,格式错了就报错,体验不好。 /** 数字,中文,字母,浮点数(+/-/.) 类型输入限制,只要在input标签上加上 jInput="number,chinese,alphabet,floating" 备注:floating属性只能单独用*/     function limitInptFormat(){ var inputType=['number','chinese','alphabet','floating']; $('body').delegate(&quo ...
1, java多线程共享主内存中变量的时候,一共会经过几个阶段,    lock:将主内存中的变量锁定,为一个线程所独占。   unclock:将lock加的锁定解除,此时其它的线程可以有机会访问此变量。   read:将主内存中的变量值读到工作内存当中。   load:将read读取的值保存到工作内存中的变量副本中。   use:将值传递给线程的代码执行引擎。   assign:将执行引擎处理返回的值重新赋值给变量副本。   store:将变量副本的值存储到主内存中。   write:将store存储的值写入到主内存的共享变量当中。  所以线程操作共享变量的时候,都 ...
Global site tag (gtag.js) - Google Analytics