今天,不當心看到一段代碼,因以前優化過相似的問題。可是這種問題一而再再而三出現,真心以爲碼農,也不是誰都能當好的。細節決定成敗,作事情的風格,真真的會阻礙一我的的發展。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中找到出口。通信