今天,不当心看到一段代码,因以前优化过相似的问题。可是这种问题一而再再而三出现,真心以为码农,也不是谁都能当好的。细节决定成败,作事情的风格,真真的会阻碍一我的的发展。redis
废话很少说,直接上代码:网络
//不友好使用方式
if(jedis.exists(key)){
String value = jedis.get(key);
do("目标代码1");
//……
}else{
do("目标代码2");
//……
}
//友好使用方式
String value = jedis.get(key);
if(value!=null){
do("目标代码1");
//……
}else{
do("目标代码2");
//……
}性能
不友好的方式,分别要与redis进行两次网络通讯,而友好的方式只有一次。性能提高一倍。优化
结论:大多数的状况下,咱们都是不须要exists的。使用exists的场景,只能用在就单单判断key是否存在,无需后续操做redis的状况,才是最合适。get
一样是if else,但有的人在if迷失,有的人则在else中找到出口。通信