做者:A.cKitten 出處:http://www.cnblogs.com/BrickMover 嚴禁轉載。 java
---------------------------------------------------------------------------------------------分割線------------------------------------------------------------------------------------------------- redis
第一次在博客園發博客.寫的很差,說的不對之處但願你們能諒解~!!!!!!!!!!apache
---------------------------------------------------------------------------------------------分割線-------------------------------------------------------------------------------------------------編程
以前在博客園閱讀了許多編程知識.今天想到前不久寫的一個Play框架多模塊項目,各模塊獨立以後,有許多公共緩存須要處理,因此用到了redis.就把項目裏用到的緩存功能分享下.緩存
項目是一個電商平臺,分爲多模塊開發.方便後期各模塊獨立.以下圖:app
basic部分 公共文件部分結構以下:框架
JedisPool 文件:ide
1 package common.utils.redis; 2 3 import java.util.ArrayList; 4 import java.util.List; 5 6 import common.constants.ConfConst; 7 8 import redis.clients.jedis.Jedis; 9 import redis.clients.jedis.JedisShardInfo; 10 import redis.clients.jedis.ShardedJedisPool; 11 import redis.clients.util.Hashing; 12 import redis.clients.util.Sharded; 13 14 public class JedisPool { 15 private static ShardedJedisPool pool = null; 16 17 /** 18 * 構建redis鏈接池 19 * 20 * @param ip 21 * @param port 22 * @return JedisPool 23 */ 24 public static ShardedJedisPool getPool() { 25 if (pool == null) { 26 JedisPoolConfig config = new JedisPoolConfig(); 27 //若是賦值爲-1,則表示不限制;若是pool已經分配了maxActive個jedis實例,則此時pool的狀態爲exhausted(耗盡)。 28 config.setMaxActive(ConfConst.REDIS_MAXACTIVE); 29 //控制一個pool最多有多少個狀態爲idle(空閒的)的jedis實例。 30 config.setMaxIdle(ConfConst.REDIS_MAXIDLE); 31 //表示當borrow(引入)一個jedis實例時,最大的等待時間,若是超過等待時間,則直接拋出JedisConnectionException; 32 config.setMaxWait(ConfConst.REDIS_MAXWAIT); 33 //在borrow一個jedis實例時,是否提早進行validate操做;若是爲true,則獲得的jedis實例均是可用的; 34 config.setTestOnBorrow(ConfConst.REDIS_TESTONBORROW); 35 config.setTestOnReturn(ConfConst.REDIS_testOnReturn); 36 List<JedisShardInfo> jdsInfoList =new ArrayList<JedisShardInfo>(); 37 String host = ConfConst.REDIS_HOST; 38 int port = ConfConst.REDIS_PORT; 39 int timeOut = ConfConst.REDIS_TIMEOUT; 40 int weight = 1; 41 String password = ConfConst.REDIS_PASS; 42 int db=ConfConst.REDIS_DB; 43 JedisShardInfo info = new JedisShardInfoEx(host,port,timeOut,weight,password,db); 44 jdsInfoList.add(info); 45 pool =new ShardedJedisPool(config, jdsInfoList, Hashing.MURMUR_HASH,Sharded.DEFAULT_KEY_TAG_PATTERN); 46 47 } 48 return pool; 49 } 50 }
JedisPoolConfig 文件:學習
1 package common.utils.redis; 2 3 import org.apache.commons.pool.impl.GenericObjectPool.Config; 4 5 import redis.clients.jedis.Jedis; 6 import redis.clients.jedis.JedisPool; 7 8 /** 9 * JedisPoolConfig 10 * 11 * @description 12 * 13 * @author HuangShaoFeng 14 * @createDate 2017年2月15日 15 */ 16 public class JedisPoolConfig extends Config { 17 public JedisPoolConfig() { 18 setTestWhileIdle(true); 19 setMinEvictableIdleTimeMillis(60000); 20 setTimeBetweenEvictionRunsMillis(30000); 21 setNumTestsPerEvictionRun(-1); 22 } 23 24 public int getMaxIdle() { 25 return maxIdle; 26 } 27 28 public void setMaxIdle(int maxIdle) { 29 this.maxIdle = maxIdle; 30 } 31 32 public int getMinIdle() { 33 return minIdle; 34 } 35 36 public void setMinIdle(int minIdle) { 37 this.minIdle = minIdle; 38 } 39 40 public int getMaxActive() { 41 return maxActive; 42 } 43 44 public void setMaxActive(int maxActive) { 45 this.maxActive = maxActive; 46 } 47 48 public long getMaxWait() { 49 return maxWait; 50 } 51 52 public void setMaxWait(long maxWait) { 53 this.maxWait = maxWait; 54 } 55 56 public byte getWhenExhaustedAction() { 57 return whenExhaustedAction; 58 } 59 60 public void setWhenExhaustedAction(byte whenExhaustedAction) { 61 this.whenExhaustedAction = whenExhaustedAction; 62 } 63 64 public boolean isTestOnBorrow() { 65 return testOnBorrow; 66 } 67 68 public void setTestOnBorrow(boolean testOnBorrow) { 69 this.testOnBorrow = testOnBorrow; 70 } 71 72 public boolean isTestOnReturn() { 73 return testOnReturn; 74 } 75 76 public void setTestOnReturn(boolean testOnReturn) { 77 this.testOnReturn = testOnReturn; 78 } 79 80 public boolean isTestWhileIdle() { 81 return testWhileIdle; 82 } 83 84 public void setTestWhileIdle(boolean testWhileIdle) { 85 this.testWhileIdle = testWhileIdle; 86 } 87 88 public long getTimeBetweenEvictionRunsMillis() { 89 return timeBetweenEvictionRunsMillis; 90 } 91 92 public void setTimeBetweenEvictionRunsMillis( 93 long timeBetweenEvictionRunsMillis) { 94 this.timeBetweenEvictionRunsMillis = timeBetweenEvictionRunsMillis; 95 } 96 97 public int getNumTestsPerEvictionRun() { 98 return numTestsPerEvictionRun; 99 } 100 101 public void setNumTestsPerEvictionRun(int numTestsPerEvictionRun) { 102 this.numTestsPerEvictionRun = numTestsPerEvictionRun; 103 } 104 105 public long getMinEvictableIdleTimeMillis() { 106 return minEvictableIdleTimeMillis; 107 } 108 109 public void setMinEvictableIdleTimeMillis(long minEvictableIdleTimeMillis) { 110 this.minEvictableIdleTimeMillis = minEvictableIdleTimeMillis; 111 } 112 113 public long getSoftMinEvictableIdleTimeMillis() { 114 return softMinEvictableIdleTimeMillis; 115 } 116 117 public void setSoftMinEvictableIdleTimeMillis( 118 long softMinEvictableIdleTimeMillis) { 119 this.softMinEvictableIdleTimeMillis = softMinEvictableIdleTimeMillis; 120 } 121 122 }
JedisShardInfoEx 文件:this
1 package common.utils.redis; 2 3 import org.apache.commons.lang.StringUtils; 4 5 import redis.clients.jedis.Jedis; 6 import redis.clients.jedis.JedisShardInfo; 7 8 /** 9 * JedisShardInfoEx 10 * 11 * @description 12 * 13 * @author HuangShaoFeng 14 * @createDate 2017年2月23日 15 */ 16 public class JedisShardInfoEx extends JedisShardInfo { 17 private int db; 18 public JedisShardInfoEx(String host, int port, int timeout, int weight,String password) { 19 this(host,port,timeout,weight,password,0); 20 } 21 public JedisShardInfoEx (String host, int port, int timeout, int weight,String password,int db) { 22 super(host, port, timeout, weight); 23 super.setPassword(StringUtils.isBlank(password) ? null : password); 24 this.db = db; 25 } 26 @Override 27 public Jedis createResource() { 28 Jedis jedis = super.createResource(); 29 jedis.select(db); 30 return jedis; 31 } 32 }
RedisClientTemplate 文件:
1 package common.utils.redis; 2 import java.net.URLEncoder; 3 import java.util.Collection; 4 import java.util.HashSet; 5 import java.util.Iterator; 6 import java.util.List; 7 import java.util.Map; 8 import java.util.Set; 9 10 import org.slf4j.Logger; 11 import org.slf4j.LoggerFactory; 12 13 import common.utils.SerializeUtil; 14 import redis.clients.jedis.BinaryClient.LIST_POSITION; 15 import redis.clients.jedis.Jedis; 16 import redis.clients.jedis.JedisShardInfo; 17 import redis.clients.jedis.ShardedJedis; 18 import redis.clients.jedis.ShardedJedisPipeline; 19 import redis.clients.jedis.SortingParams; 20 import redis.clients.jedis.Tuple; 21 /** 22 * RedisClientTemplate 23 * 24 * @description 經過redisDataSource獲取到shardJedis,利用shardJedis中封裝好的方法,進行保存、查詢 25 * 26 * @author HuangShaoFeng 27 * @createDate 2017年2月15日 28 */ 29 public class RedisClientTemplate { 30 31 private static final Logger log = LoggerFactory.getLogger(RedisClientTemplate.class); 32 33 private SerializeUtil serializeUtil=new SerializeUtil(); 34 35 private static RedisDataSource redisDataSource; 36 37 static { 38 synchronized (RedisClientTemplate.class) { 39 if (redisDataSource == null) { 40 redisDataSource = new RedisDataSourceImpl(); 41 } 42 } 43 } 44 45 public void disconnect() { 46 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 47 shardedJedis.disconnect(); 48 } 49 50 51 /** 52 * 通配符獲取key 53 * @param keyPattern 54 * @return 55 */ 56 public Set<String> keyPattern(String keyPattern){ 57 Set<String> result = null; 58 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 59 if (shardedJedis == null) { 60 return result; 61 } 62 Collection<Jedis> jediss = shardedJedis.getAllShards(); 63 if (jediss == null || jediss.size() == 0) { 64 return result; 65 } 66 Iterator<Jedis> it = jediss.iterator(); 67 Jedis jedis = null; 68 69 70 71 boolean broken = false; 72 try { 73 if(result == null){ 74 result = new HashSet<String>(); 75 } 76 while (it.hasNext() && jedis == null) { 77 jedis = it.next(); 78 result.addAll(jedis.keys(keyPattern)); 79 } 80 } catch (Exception e) { 81 log.error(e.getMessage(), e); 82 broken = true; 83 } finally { 84 redisDataSource.returnResource(shardedJedis, broken); 85 } 86 return result; 87 } 88 89 /** 90 * 刪除通配符獲取key 91 * @param keyPattern 92 * @return 93 */ 94 public Long delPattern(String keyPattern){ 95 Long result = 0L; 96 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 97 if (shardedJedis == null) { 98 return result; 99 } 100 Collection<Jedis> jediss = shardedJedis.getAllShards(); 101 if (jediss == null || jediss.size() == 0) { 102 return result; 103 } 104 Iterator<Jedis> it = jediss.iterator(); 105 Jedis jedis = null; 106 107 boolean broken = false; 108 try { 109 while (it.hasNext() && jedis == null) { 110 jedis = it.next(); 111 Set<String> keys = jedis.keys(keyPattern); 112 for (String key : keys) { 113 result += jedis.del(key); 114 } 115 } 116 } catch (Exception e) { 117 log.error(e.getMessage(), e); 118 broken = true; 119 } finally { 120 redisDataSource.returnResource(shardedJedis, broken); 121 } 122 return result; 123 } 124 125 /** 126 * 設置對象 127 * @param key 128 * @param value 129 * @return 130 */ 131 public String set(String key,Object value){ 132 String result = null; 133 try { 134 result = set(key.getBytes(), serializeUtil.serialize(value)); 135 } catch (Exception e) { 136 log.error(e.getMessage(), e); 137 } 138 return result; 139 } 140 141 /** 142 * 設置對象並設置過時時間 143 * @param key 144 * @param seconds 過時時間(秒單位) 145 * @param value 146 * @return 147 */ 148 public String setex(String key, int seconds, Object value){ 149 String result = null; 150 try { 151 result = setex(key.getBytes(), seconds,serializeUtil.serialize(value)); 152 } catch (Exception e) { 153 log.error(e.getMessage(), e); 154 } 155 return result; 156 } 157 158 /** 159 * 獲取對象 160 * @param key 161 * @param clazz 162 * @return 163 */ 164 public <T>T get(String key,Class<T> clazz){ 165 166 T result = null; 167 try { 168 byte[] result_ = get(key.getBytes()); 169 if(result_ != null && result_.length > 0){ 170 result = serializeUtil.unserialize(result_,clazz); 171 172 } 173 } catch (Exception e) { 174 log.error(e.getMessage(), e); 175 result = null; 176 } 177 return result; 178 } 179 180 /** 181 * 設置單個值 182 * 183 * @param key 184 * @param value 185 * @return 186 */ 187 public String set(String key, String value) { 188 String result = null; 189 190 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 191 if (shardedJedis == null) { 192 return result; 193 } 194 boolean broken = false; 195 try { 196 result = shardedJedis.set(key, value); 197 } catch (Exception e) { 198 log.error(e.getMessage(), e); 199 broken = true; 200 } finally { 201 redisDataSource.returnResource(shardedJedis, broken); 202 } 203 return result; 204 } 205 206 /** 207 * 獲取單個值 208 * 209 * @param key 210 * @return 211 */ 212 public String get(String key) { 213 String result = null; 214 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 215 if (shardedJedis == null) { 216 return result; 217 } 218 219 boolean broken = false; 220 try { 221 result = shardedJedis.get(key); 222 } catch (Exception e) { 223 log.error(e.getMessage(), e); 224 broken = true; 225 } finally { 226 redisDataSource.returnResource(shardedJedis, broken); 227 } 228 return result; 229 } 230 231 public Boolean exists(String key) { 232 Boolean result = false; 233 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 234 if (shardedJedis == null) { 235 return result; 236 } 237 boolean broken = false; 238 try { 239 result = shardedJedis.exists(key); 240 } catch (Exception e) { 241 log.error(e.getMessage(), e); 242 broken = true; 243 } finally { 244 redisDataSource.returnResource(shardedJedis, broken); 245 } 246 return result; 247 } 248 249 public String type(String key) { 250 String result = null; 251 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 252 if (shardedJedis == null) { 253 return result; 254 } 255 boolean broken = false; 256 try { 257 result = shardedJedis.type(key); 258 259 } catch (Exception e) { 260 log.error(e.getMessage(), e); 261 broken = true; 262 } finally { 263 redisDataSource.returnResource(shardedJedis, broken); 264 } 265 return result; 266 } 267 268 /** 269 * 在某段時間後實現 270 * 271 * @param key 272 * @param unixTime 273 * @return 274 */ 275 public Long expire(String key, int seconds) { 276 Long result = null; 277 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 278 if (shardedJedis == null) { 279 return result; 280 } 281 boolean broken = false; 282 try { 283 result = shardedJedis.expire(key, seconds); 284 285 } catch (Exception e) { 286 log.error(e.getMessage(), e); 287 broken = true; 288 } finally { 289 redisDataSource.returnResource(shardedJedis, broken); 290 } 291 return result; 292 } 293 294 /** 295 * 在某個時間點失效 296 * 297 * @param key 298 * @param unixTime 299 * @return 300 */ 301 public Long expireAt(String key, long unixTime) { 302 Long result = null; 303 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 304 if (shardedJedis == null) { 305 return result; 306 } 307 boolean broken = false; 308 try { 309 result = shardedJedis.expireAt(key, unixTime); 310 311 } catch (Exception e) { 312 log.error(e.getMessage(), e); 313 broken = true; 314 } finally { 315 redisDataSource.returnResource(shardedJedis, broken); 316 } 317 return result; 318 } 319 320 public Long ttl(String key) { 321 Long result = null; 322 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 323 if (shardedJedis == null) { 324 return result; 325 } 326 boolean broken = false; 327 try { 328 result = shardedJedis.ttl(key); 329 330 } catch (Exception e) { 331 log.error(e.getMessage(), e); 332 broken = true; 333 } finally { 334 redisDataSource.returnResource(shardedJedis, broken); 335 } 336 return result; 337 } 338 339 public boolean setbit(String key, long offset, boolean value) { 340 341 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 342 boolean result = false; 343 if (shardedJedis == null) { 344 return result; 345 } 346 boolean broken = false; 347 try { 348 result = shardedJedis.setbit(key, offset, value); 349 } catch (Exception e) { 350 log.error(e.getMessage(), e); 351 broken = true; 352 } finally { 353 redisDataSource.returnResource(shardedJedis, broken); 354 } 355 return result; 356 } 357 358 public boolean getbit(String key, long offset) { 359 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 360 boolean result = false; 361 if (shardedJedis == null) { 362 return result; 363 } 364 boolean broken = false; 365 366 try { 367 result = shardedJedis.getbit(key, offset); 368 } catch (Exception e) { 369 log.error(e.getMessage(), e); 370 broken = true; 371 } finally { 372 redisDataSource.returnResource(shardedJedis, broken); 373 } 374 return result; 375 } 376 377 public long setrange(String key, long offset, String value) { 378 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 379 long result = 0; 380 if (shardedJedis == null) { 381 return result; 382 } 383 boolean broken = false; 384 try { 385 result = shardedJedis.setrange(key, offset, value); 386 } catch (Exception e) { 387 log.error(e.getMessage(), e); 388 broken = true; 389 } finally { 390 redisDataSource.returnResource(shardedJedis, broken); 391 } 392 return result; 393 } 394 395 public String getrange(String key, long startOffset, long endOffset) { 396 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 397 String result = null; 398 if (shardedJedis == null) { 399 return result; 400 } 401 boolean broken = false; 402 try { 403 result = shardedJedis.getrange(key, startOffset, endOffset); 404 405 } catch (Exception e) { 406 log.error(e.getMessage(), e); 407 broken = true; 408 } finally { 409 redisDataSource.returnResource(shardedJedis, broken); 410 } 411 return result; 412 } 413 414 public String getSet(String key, String value) { 415 String result = null; 416 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 417 if (shardedJedis == null) { 418 return result; 419 } 420 boolean broken = false; 421 try { 422 result = shardedJedis.getSet(key, value); 423 } catch (Exception e) { 424 log.error(e.getMessage(), e); 425 broken = true; 426 } finally { 427 redisDataSource.returnResource(shardedJedis, broken); 428 } 429 return result; 430 } 431 432 public Long setnx(String key, String value) { 433 Long result = null; 434 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 435 if (shardedJedis == null) { 436 return result; 437 } 438 boolean broken = false; 439 try { 440 result = shardedJedis.setnx(key, value); 441 } catch (Exception e) { 442 log.error(e.getMessage(), e); 443 broken = true; 444 } finally { 445 redisDataSource.returnResource(shardedJedis, broken); 446 } 447 return result; 448 } 449 450 public Long setnx(String key, String value, int seconds) { 451 Long result = null; 452 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 453 if (shardedJedis == null) { 454 return result; 455 } 456 boolean broken = false; 457 try { 458 result = shardedJedis.setnx(key, value); 459 if(result>0){ 460 shardedJedis.expire(key, seconds); 461 } 462 } catch (Exception e) { 463 log.error(e.getMessage(), e); 464 broken = true; 465 } finally { 466 redisDataSource.returnResource(shardedJedis, broken); 467 } 468 return result; 469 } 470 471 public String setex(String key, int seconds, String value) { 472 String result = null; 473 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 474 if (shardedJedis == null) { 475 return result; 476 } 477 boolean broken = false; 478 try { 479 result = shardedJedis.setex(key, seconds, value); 480 481 } catch (Exception e) { 482 log.error(e.getMessage(), e); 483 broken = true; 484 } finally { 485 redisDataSource.returnResource(shardedJedis, broken); 486 } 487 return result; 488 } 489 490 public Long decrBy(String key, long integer) { 491 Long result = null; 492 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 493 if (shardedJedis == null) { 494 return result; 495 } 496 boolean broken = false; 497 try { 498 result = shardedJedis.decrBy(key, integer); 499 500 } catch (Exception e) { 501 log.error(e.getMessage(), e); 502 broken = true; 503 } finally { 504 redisDataSource.returnResource(shardedJedis, broken); 505 } 506 return result; 507 } 508 509 public Long decr(String key) { 510 Long result = null; 511 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 512 if (shardedJedis == null) { 513 return result; 514 } 515 boolean broken = false; 516 try { 517 result = shardedJedis.decr(key); 518 519 } catch (Exception e) { 520 log.error(e.getMessage(), e); 521 broken = true; 522 } finally { 523 redisDataSource.returnResource(shardedJedis, broken); 524 } 525 return result; 526 } 527 528 public Long incrBy(String key, long integer) { 529 Long result = null; 530 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 531 if (shardedJedis == null) { 532 return result; 533 } 534 boolean broken = false; 535 try { 536 result = shardedJedis.incrBy(key, integer); 537 538 } catch (Exception e) { 539 log.error(e.getMessage(), e); 540 broken = true; 541 } finally { 542 redisDataSource.returnResource(shardedJedis, broken); 543 } 544 return result; 545 } 546 547 public Long incr(String key) { 548 Long result = null; 549 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 550 if (shardedJedis == null) { 551 return result; 552 } 553 boolean broken = false; 554 try { 555 result = shardedJedis.incr(key); 556 557 } catch (Exception e) { 558 log.error(e.getMessage(), e); 559 broken = true; 560 } finally { 561 redisDataSource.returnResource(shardedJedis, broken); 562 } 563 return result; 564 } 565 566 public Long append(String key, String value) { 567 Long result = null; 568 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 569 if (shardedJedis == null) { 570 return result; 571 } 572 boolean broken = false; 573 try { 574 result = shardedJedis.append(key, value); 575 576 } catch (Exception e) { 577 log.error(e.getMessage(), e); 578 broken = true; 579 } finally { 580 redisDataSource.returnResource(shardedJedis, broken); 581 } 582 return result; 583 } 584 585 public String substr(String key, int start, int end) { 586 String result = null; 587 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 588 if (shardedJedis == null) { 589 return result; 590 } 591 boolean broken = false; 592 try { 593 result = shardedJedis.substr(key, start, end); 594 595 } catch (Exception e) { 596 log.error(e.getMessage(), e); 597 broken = true; 598 } finally { 599 redisDataSource.returnResource(shardedJedis, broken); 600 } 601 return result; 602 } 603 604 public Long hset(String key, String field, String value) { 605 Long result = null; 606 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 607 if (shardedJedis == null) { 608 return result; 609 } 610 boolean broken = false; 611 try { 612 result = shardedJedis.hset(key, field, value); 613 614 } catch (Exception e) { 615 log.error(e.getMessage(), e); 616 broken = true; 617 } finally { 618 redisDataSource.returnResource(shardedJedis, broken); 619 } 620 return result; 621 } 622 623 public String hget(String key, String field) { 624 String result = null; 625 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 626 if (shardedJedis == null) { 627 return result; 628 } 629 boolean broken = false; 630 try { 631 result = shardedJedis.hget(key, field); 632 633 } catch (Exception e) { 634 log.error(e.getMessage(), e); 635 broken = true; 636 } finally { 637 redisDataSource.returnResource(shardedJedis, broken); 638 } 639 return result; 640 } 641 642 public Long hsetnx(String key, String field, String value) { 643 Long result = null; 644 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 645 if (shardedJedis == null) { 646 return result; 647 } 648 boolean broken = false; 649 try { 650 result = shardedJedis.hsetnx(key, field, value); 651 652 } catch (Exception e) { 653 log.error(e.getMessage(), e); 654 broken = true; 655 } finally { 656 redisDataSource.returnResource(shardedJedis, broken); 657 } 658 return result; 659 } 660 661 public String hmset(String key, Map<String, String> hash) { 662 String result = null; 663 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 664 if (shardedJedis == null) { 665 return result; 666 } 667 boolean broken = false; 668 try { 669 result = shardedJedis.hmset(key, hash); 670 671 } catch (Exception e) { 672 log.error(e.getMessage(), e); 673 broken = true; 674 } finally { 675 redisDataSource.returnResource(shardedJedis, broken); 676 } 677 return result; 678 } 679 680 public List<String> hmget(String key, String... fields) { 681 List<String> result = null; 682 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 683 if (shardedJedis == null) { 684 return result; 685 } 686 boolean broken = false; 687 try { 688 result = shardedJedis.hmget(key, fields); 689 690 } catch (Exception e) { 691 log.error(e.getMessage(), e); 692 broken = true; 693 } finally { 694 redisDataSource.returnResource(shardedJedis, broken); 695 } 696 return result; 697 } 698 699 public Long hincrBy(String key, String field, long value) { 700 Long result = null; 701 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 702 if (shardedJedis == null) { 703 return result; 704 } 705 boolean broken = false; 706 try { 707 result = shardedJedis.hincrBy(key, field, value); 708 709 } catch (Exception e) { 710 log.error(e.getMessage(), e); 711 broken = true; 712 } finally { 713 redisDataSource.returnResource(shardedJedis, broken); 714 } 715 return result; 716 } 717 718 public Boolean hexists(String key, String field) { 719 Boolean result = false; 720 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 721 if (shardedJedis == null) { 722 return result; 723 } 724 boolean broken = false; 725 try { 726 result = shardedJedis.hexists(key, field); 727 728 } catch (Exception e) { 729 log.error(e.getMessage(), e); 730 broken = true; 731 } finally { 732 redisDataSource.returnResource(shardedJedis, broken); 733 } 734 return result; 735 } 736 737 public Long del(String key) { 738 Long result = null; 739 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 740 if (shardedJedis == null) { 741 return result; 742 } 743 boolean broken = false; 744 try { 745 result = shardedJedis.del(key); 746 747 } catch (Exception e) { 748 log.error(e.getMessage(), e); 749 broken = true; 750 } finally { 751 redisDataSource.returnResource(shardedJedis, broken); 752 } 753 return result; 754 } 755 756 public Long hdel(String key, String field) { 757 Long result = null; 758 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 759 if (shardedJedis == null) { 760 return result; 761 } 762 boolean broken = false; 763 try { 764 result = shardedJedis.hdel(key, field); 765 766 } catch (Exception e) { 767 log.error(e.getMessage(), e); 768 broken = true; 769 } finally { 770 redisDataSource.returnResource(shardedJedis, broken); 771 } 772 return result; 773 } 774 775 public Long hlen(String key) { 776 Long result = null; 777 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 778 if (shardedJedis == null) { 779 return result; 780 } 781 boolean broken = false; 782 try { 783 result = shardedJedis.hlen(key); 784 785 } catch (Exception e) { 786 log.error(e.getMessage(), e); 787 broken = true; 788 } finally { 789 redisDataSource.returnResource(shardedJedis, broken); 790 } 791 return result; 792 } 793 794 public Set<String> hkeys(String key) { 795 Set<String> result = null; 796 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 797 if (shardedJedis == null) { 798 return result; 799 } 800 boolean broken = false; 801 try { 802 result = shardedJedis.hkeys(key); 803 804 } catch (Exception e) { 805 log.error(e.getMessage(), e); 806 broken = true; 807 } finally { 808 redisDataSource.returnResource(shardedJedis, broken); 809 } 810 return result; 811 } 812 813 public List<String> hvals(String key) { 814 List<String> result = null; 815 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 816 if (shardedJedis == null) { 817 return result; 818 } 819 boolean broken = false; 820 try { 821 result = shardedJedis.hvals(key); 822 823 } catch (Exception e) { 824 log.error(e.getMessage(), e); 825 broken = true; 826 } finally { 827 redisDataSource.returnResource(shardedJedis, broken); 828 } 829 return result; 830 } 831 832 public Map<String, String> hgetAll(String key) { 833 Map<String, String> result = null; 834 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 835 if (shardedJedis == null) { 836 return result; 837 } 838 boolean broken = false; 839 try { 840 result = shardedJedis.hgetAll(key); 841 842 } catch (Exception e) { 843 log.error(e.getMessage(), e); 844 broken = true; 845 } finally { 846 redisDataSource.returnResource(shardedJedis, broken); 847 } 848 return result; 849 } 850 851 // ================list ====== l表示 list或 left, r表示right==================== 852 public Long rpush(String key, String string) { 853 Long result = null; 854 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 855 if (shardedJedis == null) { 856 return result; 857 } 858 boolean broken = false; 859 try { 860 result = shardedJedis.rpush(key, string); 861 862 } catch (Exception e) { 863 log.error(e.getMessage(), e); 864 broken = true; 865 } finally { 866 redisDataSource.returnResource(shardedJedis, broken); 867 } 868 return result; 869 } 870 871 public Long lpush(String key, String string) { 872 Long result = null; 873 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 874 if (shardedJedis == null) { 875 return result; 876 } 877 boolean broken = false; 878 try { 879 result = shardedJedis.lpush(key, string); 880 881 } catch (Exception e) { 882 log.error(e.getMessage(), e); 883 broken = true; 884 } finally { 885 redisDataSource.returnResource(shardedJedis, broken); 886 } 887 return result; 888 } 889 890 public Long llen(String key) { 891 Long result = null; 892 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 893 if (shardedJedis == null) { 894 return result; 895 } 896 boolean broken = false; 897 try { 898 result = shardedJedis.llen(key); 899 900 } catch (Exception e) { 901 log.error(e.getMessage(), e); 902 broken = true; 903 } finally { 904 redisDataSource.returnResource(shardedJedis, broken); 905 } 906 return result; 907 } 908 909 public List<String> lrange(String key, long start, long end) { 910 List<String> result = null; 911 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 912 if (shardedJedis == null) { 913 return result; 914 } 915 boolean broken = false; 916 try { 917 result = shardedJedis.lrange(key, start, end); 918 919 } catch (Exception e) { 920 log.error(e.getMessage(), e); 921 broken = true; 922 } finally { 923 redisDataSource.returnResource(shardedJedis, broken); 924 } 925 return result; 926 } 927 928 public String ltrim(String key, long start, long end) { 929 String result = null; 930 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 931 if (shardedJedis == null) { 932 return result; 933 } 934 boolean broken = false; 935 try { 936 result = shardedJedis.ltrim(key, start, end); 937 938 } catch (Exception e) { 939 log.error(e.getMessage(), e); 940 broken = true; 941 } finally { 942 redisDataSource.returnResource(shardedJedis, broken); 943 } 944 return result; 945 } 946 947 public String lindex(String key, long index) { 948 String result = null; 949 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 950 if (shardedJedis == null) { 951 return result; 952 } 953 boolean broken = false; 954 try { 955 result = shardedJedis.lindex(key, index); 956 957 } catch (Exception e) { 958 log.error(e.getMessage(), e); 959 broken = true; 960 } finally { 961 redisDataSource.returnResource(shardedJedis, broken); 962 } 963 return result; 964 } 965 966 public String lset(String key, long index, String value) { 967 String result = null; 968 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 969 if (shardedJedis == null) { 970 return result; 971 } 972 boolean broken = false; 973 try { 974 result = shardedJedis.lset(key, index, value); 975 976 } catch (Exception e) { 977 log.error(e.getMessage(), e); 978 broken = true; 979 } finally { 980 redisDataSource.returnResource(shardedJedis, broken); 981 } 982 return result; 983 } 984 985 public Long lrem(String key, long count, String value) { 986 Long result = null; 987 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 988 if (shardedJedis == null) { 989 return result; 990 } 991 boolean broken = false; 992 try { 993 result = shardedJedis.lrem(key, count, value); 994 995 } catch (Exception e) { 996 log.error(e.getMessage(), e); 997 broken = true; 998 } finally { 999 redisDataSource.returnResource(shardedJedis, broken); 1000 } 1001 return result; 1002 } 1003 1004 public String lpop(String key) { 1005 String result = null; 1006 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1007 if (shardedJedis == null) { 1008 return result; 1009 } 1010 boolean broken = false; 1011 try { 1012 result = shardedJedis.lpop(key); 1013 1014 } catch (Exception e) { 1015 log.error(e.getMessage(), e); 1016 broken = true; 1017 } finally { 1018 redisDataSource.returnResource(shardedJedis, broken); 1019 } 1020 return result; 1021 } 1022 1023 public String rpop(String key) { 1024 String result = null; 1025 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1026 if (shardedJedis == null) { 1027 return result; 1028 } 1029 boolean broken = false; 1030 try { 1031 result = shardedJedis.rpop(key); 1032 1033 } catch (Exception e) { 1034 log.error(e.getMessage(), e); 1035 broken = true; 1036 } finally { 1037 redisDataSource.returnResource(shardedJedis, broken); 1038 } 1039 return result; 1040 } 1041 1042 //return 1 add a not exist value , 1043 //return 0 add a exist value 1044 public Long sadd(String key, String member) { 1045 Long result = null; 1046 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1047 if (shardedJedis == null) { 1048 return result; 1049 } 1050 boolean broken = false; 1051 try { 1052 result = shardedJedis.sadd(key, member); 1053 1054 } catch (Exception e) { 1055 log.error(e.getMessage(), e); 1056 broken = true; 1057 } finally { 1058 redisDataSource.returnResource(shardedJedis, broken); 1059 } 1060 return result; 1061 } 1062 1063 public Set<String> smembers(String key) { 1064 Set<String> result = null; 1065 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1066 if (shardedJedis == null) { 1067 return result; 1068 } 1069 boolean broken = false; 1070 try { 1071 result = shardedJedis.smembers(key); 1072 1073 } catch (Exception e) { 1074 log.error(e.getMessage(), e); 1075 broken = true; 1076 } finally { 1077 redisDataSource.returnResource(shardedJedis, broken); 1078 } 1079 return result; 1080 } 1081 1082 public Long srem(String key, String member) { 1083 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1084 1085 Long result = null; 1086 if (shardedJedis == null) { 1087 return result; 1088 } 1089 boolean broken = false; 1090 try { 1091 result = shardedJedis.srem(key, member); 1092 } catch (Exception e) { 1093 log.error(e.getMessage(), e); 1094 broken = true; 1095 } finally { 1096 redisDataSource.returnResource(shardedJedis, broken); 1097 } 1098 return result; 1099 } 1100 1101 public String spop(String key) { 1102 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1103 String result = null; 1104 if (shardedJedis == null) { 1105 return result; 1106 } 1107 boolean broken = false; 1108 try { 1109 result = shardedJedis.spop(key); 1110 } catch (Exception e) { 1111 log.error(e.getMessage(), e); 1112 broken = true; 1113 } finally { 1114 redisDataSource.returnResource(shardedJedis, broken); 1115 } 1116 return result; 1117 } 1118 1119 public Long scard(String key) { 1120 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1121 Long result = null; 1122 if (shardedJedis == null) { 1123 return result; 1124 } 1125 boolean broken = false; 1126 try { 1127 result = shardedJedis.scard(key); 1128 1129 } catch (Exception e) { 1130 log.error(e.getMessage(), e); 1131 broken = true; 1132 } finally { 1133 redisDataSource.returnResource(shardedJedis, broken); 1134 } 1135 return result; 1136 } 1137 1138 public Boolean sismember(String key, String member) { 1139 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1140 Boolean result = null; 1141 if (shardedJedis == null) { 1142 return result; 1143 } 1144 boolean broken = false; 1145 try { 1146 result = shardedJedis.sismember(key, member); 1147 } catch (Exception e) { 1148 log.error(e.getMessage(), e); 1149 broken = true; 1150 } finally { 1151 redisDataSource.returnResource(shardedJedis, broken); 1152 } 1153 return result; 1154 } 1155 1156 public String srandmember(String key) { 1157 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1158 String result = null; 1159 if (shardedJedis == null) { 1160 return result; 1161 } 1162 boolean broken = false; 1163 try { 1164 result = shardedJedis.srandmember(key); 1165 } catch (Exception e) { 1166 log.error(e.getMessage(), e); 1167 broken = true; 1168 } finally { 1169 redisDataSource.returnResource(shardedJedis, broken); 1170 } 1171 return result; 1172 } 1173 1174 public Long zadd(String key, double score, String member) { 1175 Long result = null; 1176 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1177 if (shardedJedis == null) { 1178 return result; 1179 } 1180 boolean broken = false; 1181 try { 1182 result = shardedJedis.zadd(key, score, member); 1183 } catch (Exception e) { 1184 log.error(e.getMessage(), e); 1185 broken = true; 1186 } finally { 1187 redisDataSource.returnResource(shardedJedis, broken); 1188 } 1189 return result; 1190 } 1191 1192 public Set<String> zrange(String key, int start, int end) { 1193 Set<String> result = null; 1194 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1195 if (shardedJedis == null) { 1196 return result; 1197 } 1198 boolean broken = false; 1199 try { 1200 result = shardedJedis.zrange(key, start, end); 1201 } catch (Exception e) { 1202 log.error(e.getMessage(), e); 1203 broken = true; 1204 } finally { 1205 redisDataSource.returnResource(shardedJedis, broken); 1206 } 1207 return result; 1208 } 1209 1210 public Long zrem(String key, String member) { 1211 Long result = null; 1212 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1213 if (shardedJedis == null) { 1214 return result; 1215 } 1216 boolean broken = false; 1217 try { 1218 result = shardedJedis.zrem(key, member); 1219 } catch (Exception e) { 1220 log.error(e.getMessage(), e); 1221 broken = true; 1222 } finally { 1223 redisDataSource.returnResource(shardedJedis, broken); 1224 } 1225 return result; 1226 } 1227 1228 public Double zincrby(String key, double score, String member) { 1229 Double result = null; 1230 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1231 if (shardedJedis == null) { 1232 return result; 1233 } 1234 boolean broken = false; 1235 try { 1236 1237 result = shardedJedis.zincrby(key, score, member); 1238 1239 } catch (Exception e) { 1240 log.error(e.getMessage(), e); 1241 broken = true; 1242 } finally { 1243 redisDataSource.returnResource(shardedJedis, broken); 1244 } 1245 return result; 1246 } 1247 1248 public Long zrank(String key, String member) { 1249 Long result = null; 1250 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1251 if (shardedJedis == null) { 1252 return result; 1253 } 1254 boolean broken = false; 1255 try { 1256 1257 result = shardedJedis.zrank(key, member); 1258 1259 } catch (Exception e) { 1260 log.error(e.getMessage(), e); 1261 broken = true; 1262 } finally { 1263 redisDataSource.returnResource(shardedJedis, broken); 1264 } 1265 return result; 1266 } 1267 1268 public Long zrevrank(String key, String member) { 1269 Long result = null; 1270 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1271 if (shardedJedis == null) { 1272 return result; 1273 } 1274 boolean broken = false; 1275 try { 1276 1277 result = shardedJedis.zrevrank(key, member); 1278 1279 } catch (Exception e) { 1280 log.error(e.getMessage(), e); 1281 broken = true; 1282 } finally { 1283 redisDataSource.returnResource(shardedJedis, broken); 1284 } 1285 return result; 1286 } 1287 1288 public Set<String> zrevrange(String key, int start, int end) { 1289 Set<String> result = null; 1290 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1291 if (shardedJedis == null) { 1292 return result; 1293 } 1294 boolean broken = false; 1295 try { 1296 1297 result = shardedJedis.zrevrange(key, start, end); 1298 1299 } catch (Exception e) { 1300 log.error(e.getMessage(), e); 1301 broken = true; 1302 } finally { 1303 redisDataSource.returnResource(shardedJedis, broken); 1304 } 1305 return result; 1306 } 1307 1308 public Set<Tuple> zrangeWithScores(String key, int start, int end) { 1309 Set<Tuple> result = null; 1310 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1311 if (shardedJedis == null) { 1312 return result; 1313 } 1314 boolean broken = false; 1315 try { 1316 1317 result = shardedJedis.zrangeWithScores(key, start, end); 1318 1319 } catch (Exception e) { 1320 log.error(e.getMessage(), e); 1321 broken = true; 1322 } finally { 1323 redisDataSource.returnResource(shardedJedis, broken); 1324 } 1325 return result; 1326 } 1327 1328 public Set<Tuple> zrevrangeWithScores(String key, int start, int end) { 1329 Set<Tuple> result = null; 1330 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1331 if (shardedJedis == null) { 1332 return result; 1333 } 1334 boolean broken = false; 1335 try { 1336 1337 result = shardedJedis.zrevrangeWithScores(key, start, end); 1338 1339 } catch (Exception e) { 1340 log.error(e.getMessage(), e); 1341 broken = true; 1342 } finally { 1343 redisDataSource.returnResource(shardedJedis, broken); 1344 } 1345 return result; 1346 } 1347 1348 public Long zcard(String key) { 1349 Long result = null; 1350 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1351 if (shardedJedis == null) { 1352 return result; 1353 } 1354 boolean broken = false; 1355 try { 1356 1357 result = shardedJedis.zcard(key); 1358 1359 } catch (Exception e) { 1360 log.error(e.getMessage(), e); 1361 broken = true; 1362 } finally { 1363 redisDataSource.returnResource(shardedJedis, broken); 1364 } 1365 return result; 1366 } 1367 1368 public Double zscore(String key, String member) { 1369 Double result = null; 1370 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1371 if (shardedJedis == null) { 1372 return result; 1373 } 1374 boolean broken = false; 1375 try { 1376 1377 result = shardedJedis.zscore(key, member); 1378 1379 } catch (Exception e) { 1380 log.error(e.getMessage(), e); 1381 broken = true; 1382 } finally { 1383 redisDataSource.returnResource(shardedJedis, broken); 1384 } 1385 return result; 1386 } 1387 1388 public List<String> sort(String key) { 1389 List<String> result = null; 1390 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1391 if (shardedJedis == null) { 1392 return result; 1393 } 1394 boolean broken = false; 1395 try { 1396 1397 result = shardedJedis.sort(key); 1398 1399 } catch (Exception e) { 1400 log.error(e.getMessage(), e); 1401 broken = true; 1402 } finally { 1403 redisDataSource.returnResource(shardedJedis, broken); 1404 } 1405 return result; 1406 } 1407 1408 public List<String> sort(String key, SortingParams sortingParameters) { 1409 List<String> result = null; 1410 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1411 if (shardedJedis == null) { 1412 return result; 1413 } 1414 boolean broken = false; 1415 try { 1416 1417 result = shardedJedis.sort(key, sortingParameters); 1418 1419 } catch (Exception e) { 1420 log.error(e.getMessage(), e); 1421 broken = true; 1422 } finally { 1423 redisDataSource.returnResource(shardedJedis, broken); 1424 } 1425 return result; 1426 } 1427 1428 public Long zcount(String key, double min, double max) { 1429 Long result = null; 1430 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1431 if (shardedJedis == null) { 1432 return result; 1433 } 1434 boolean broken = false; 1435 try { 1436 1437 result = shardedJedis.zcount(key, min, max); 1438 1439 } catch (Exception e) { 1440 log.error(e.getMessage(), e); 1441 broken = true; 1442 } finally { 1443 redisDataSource.returnResource(shardedJedis, broken); 1444 } 1445 return result; 1446 } 1447 1448 public Set<String> zrangeByScore(String key, double min, double max) { 1449 Set<String> result = null; 1450 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1451 if (shardedJedis == null) { 1452 return result; 1453 } 1454 boolean broken = false; 1455 try { 1456 1457 result = shardedJedis.zrangeByScore(key, min, max); 1458 1459 } catch (Exception e) { 1460 log.error(e.getMessage(), e); 1461 broken = true; 1462 } finally { 1463 redisDataSource.returnResource(shardedJedis, broken); 1464 } 1465 return result; 1466 } 1467 1468 public Set<String> zrevrangeByScore(String key, double max, double min) { 1469 Set<String> result = null; 1470 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1471 if (shardedJedis == null) { 1472 return result; 1473 } 1474 boolean broken = false; 1475 try { 1476 1477 result = shardedJedis.zrevrangeByScore(key, max, min); 1478 1479 } catch (Exception e) { 1480 log.error(e.getMessage(), e); 1481 broken = true; 1482 } finally { 1483 redisDataSource.returnResource(shardedJedis, broken); 1484 } 1485 return result; 1486 } 1487 1488 public Set<String> zrangeByScore(String key, double min, double max, int offset, int count) { 1489 Set<String> result = null; 1490 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1491 if (shardedJedis == null) { 1492 return result; 1493 } 1494 boolean broken = false; 1495 try { 1496 1497 result = shardedJedis.zrangeByScore(key, min, max, offset, count); 1498 1499 } catch (Exception e) { 1500 log.error(e.getMessage(), e); 1501 broken = true; 1502 } finally { 1503 redisDataSource.returnResource(shardedJedis, broken); 1504 } 1505 return result; 1506 } 1507 1508 public Set<String> zrevrangeByScore(String key, double max, double min, int offset, int count) { 1509 Set<String> result = null; 1510 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1511 if (shardedJedis == null) { 1512 return result; 1513 } 1514 boolean broken = false; 1515 try { 1516 1517 result = shardedJedis.zrevrangeByScore(key, max, min, offset, count); 1518 1519 } catch (Exception e) { 1520 log.error(e.getMessage(), e); 1521 broken = true; 1522 } finally { 1523 redisDataSource.returnResource(shardedJedis, broken); 1524 } 1525 return result; 1526 } 1527 1528 public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) { 1529 Set<Tuple> result = null; 1530 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1531 if (shardedJedis == null) { 1532 return result; 1533 } 1534 boolean broken = false; 1535 try { 1536 1537 result = shardedJedis.zrangeByScoreWithScores(key, min, max); 1538 1539 } catch (Exception e) { 1540 log.error(e.getMessage(), e); 1541 broken = true; 1542 } finally { 1543 redisDataSource.returnResource(shardedJedis, broken); 1544 } 1545 return result; 1546 } 1547 1548 public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) { 1549 Set<Tuple> result = null; 1550 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1551 if (shardedJedis == null) { 1552 return result; 1553 } 1554 boolean broken = false; 1555 try { 1556 1557 result = shardedJedis.zrevrangeByScoreWithScores(key, max, min); 1558 1559 } catch (Exception e) { 1560 log.error(e.getMessage(), e); 1561 broken = true; 1562 } finally { 1563 redisDataSource.returnResource(shardedJedis, broken); 1564 } 1565 return result; 1566 } 1567 1568 public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max, int offset, int count) { 1569 Set<Tuple> result = null; 1570 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1571 if (shardedJedis == null) { 1572 return result; 1573 } 1574 boolean broken = false; 1575 try { 1576 1577 result = shardedJedis.zrangeByScoreWithScores(key, min, max, offset, count); 1578 1579 } catch (Exception e) { 1580 log.error(e.getMessage(), e); 1581 broken = true; 1582 } finally { 1583 redisDataSource.returnResource(shardedJedis, broken); 1584 } 1585 return result; 1586 } 1587 1588 public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count) { 1589 Set<Tuple> result = null; 1590 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1591 if (shardedJedis == null) { 1592 return result; 1593 } 1594 boolean broken = false; 1595 try { 1596 1597 result = shardedJedis.zrevrangeByScoreWithScores(key, max, min, offset, count); 1598 1599 } catch (Exception e) { 1600 log.error(e.getMessage(), e); 1601 broken = true; 1602 } finally { 1603 redisDataSource.returnResource(shardedJedis, broken); 1604 } 1605 return result; 1606 } 1607 1608 public Long zremrangeByRank(String key, int start, int end) { 1609 Long result = null; 1610 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1611 if (shardedJedis == null) { 1612 return result; 1613 } 1614 boolean broken = false; 1615 try { 1616 1617 result = shardedJedis.zremrangeByRank(key, start, end); 1618 1619 } catch (Exception e) { 1620 log.error(e.getMessage(), e); 1621 broken = true; 1622 } finally { 1623 redisDataSource.returnResource(shardedJedis, broken); 1624 } 1625 return result; 1626 } 1627 1628 public Long zremrangeByScore(String key, double start, double end) { 1629 Long result = null; 1630 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1631 if (shardedJedis == null) { 1632 return result; 1633 } 1634 boolean broken = false; 1635 try { 1636 1637 result = shardedJedis.zremrangeByScore(key, start, end); 1638 1639 } catch (Exception e) { 1640 log.error(e.getMessage(), e); 1641 broken = true; 1642 } finally { 1643 redisDataSource.returnResource(shardedJedis, broken); 1644 } 1645 return result; 1646 } 1647 1648 public Long linsert(String key, LIST_POSITION where, String pivot, String value) { 1649 Long result = null; 1650 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1651 if (shardedJedis == null) { 1652 return result; 1653 } 1654 boolean broken = false; 1655 try { 1656 1657 result = shardedJedis.linsert(key, where, pivot, value); 1658 1659 } catch (Exception e) { 1660 log.error(e.getMessage(), e); 1661 broken = true; 1662 } finally { 1663 redisDataSource.returnResource(shardedJedis, broken); 1664 } 1665 return result; 1666 } 1667 1668 public String set(byte[] key, byte[] value) { 1669 String result = null; 1670 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1671 if (shardedJedis == null) { 1672 return result; 1673 } 1674 boolean broken = false; 1675 try { 1676 1677 result = shardedJedis.set(key, value); 1678 1679 } catch (Exception e) { 1680 log.error(e.getMessage(), e); 1681 broken = true; 1682 } finally { 1683 redisDataSource.returnResource(shardedJedis, broken); 1684 } 1685 return result; 1686 } 1687 1688 public byte[] get(byte[] key) { 1689 byte[] result = null; 1690 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1691 if (shardedJedis == null) { 1692 return result; 1693 } 1694 boolean broken = false; 1695 try { 1696 1697 result = shardedJedis.get(key); 1698 1699 } catch (Exception e) { 1700 log.error(e.getMessage(), e); 1701 broken = true; 1702 } finally { 1703 redisDataSource.returnResource(shardedJedis, broken); 1704 } 1705 return result; 1706 } 1707 1708 public Boolean exists(byte[] key) { 1709 Boolean result = false; 1710 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1711 if (shardedJedis == null) { 1712 return result; 1713 } 1714 boolean broken = false; 1715 try { 1716 1717 result = shardedJedis.exists(key); 1718 1719 } catch (Exception e) { 1720 log.error(e.getMessage(), e); 1721 broken = true; 1722 } finally { 1723 redisDataSource.returnResource(shardedJedis, broken); 1724 } 1725 return result; 1726 } 1727 1728 public String type(byte[] key) { 1729 String result = null; 1730 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1731 if (shardedJedis == null) { 1732 return result; 1733 } 1734 boolean broken = false; 1735 try { 1736 1737 result = shardedJedis.type(key); 1738 1739 } catch (Exception e) { 1740 log.error(e.getMessage(), e); 1741 broken = true; 1742 } finally { 1743 redisDataSource.returnResource(shardedJedis, broken); 1744 } 1745 return result; 1746 } 1747 1748 public Long expire(byte[] key, int seconds) { 1749 Long result = null; 1750 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1751 if (shardedJedis == null) { 1752 return result; 1753 } 1754 boolean broken = false; 1755 try { 1756 1757 result = shardedJedis.expire(key, seconds); 1758 1759 } catch (Exception e) { 1760 log.error(e.getMessage(), e); 1761 broken = true; 1762 } finally { 1763 redisDataSource.returnResource(shardedJedis, broken); 1764 } 1765 return result; 1766 } 1767 1768 public Long expireAt(byte[] key, long unixTime) { 1769 Long result = null; 1770 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1771 if (shardedJedis == null) { 1772 return result; 1773 } 1774 boolean broken = false; 1775 try { 1776 1777 result = shardedJedis.expireAt(key, unixTime); 1778 1779 } catch (Exception e) { 1780 log.error(e.getMessage(), e); 1781 broken = true; 1782 } finally { 1783 redisDataSource.returnResource(shardedJedis, broken); 1784 } 1785 return result; 1786 } 1787 1788 public Long ttl(byte[] key) { 1789 Long result = null; 1790 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1791 if (shardedJedis == null) { 1792 return result; 1793 } 1794 boolean broken = false; 1795 try { 1796 1797 result = shardedJedis.ttl(key); 1798 1799 } catch (Exception e) { 1800 log.error(e.getMessage(), e); 1801 broken = true; 1802 } finally { 1803 redisDataSource.returnResource(shardedJedis, broken); 1804 } 1805 return result; 1806 } 1807 1808 public byte[] getSet(byte[] key, byte[] value) { 1809 byte[] result = null; 1810 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1811 if (shardedJedis == null) { 1812 return result; 1813 } 1814 boolean broken = false; 1815 try { 1816 1817 result = shardedJedis.getSet(key, value); 1818 1819 } catch (Exception e) { 1820 log.error(e.getMessage(), e); 1821 broken = true; 1822 } finally { 1823 redisDataSource.returnResource(shardedJedis, broken); 1824 } 1825 return result; 1826 } 1827 1828 public Long setnx(byte[] key, byte[] value) { 1829 Long result = null; 1830 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1831 if (shardedJedis == null) { 1832 return result; 1833 } 1834 boolean broken = false; 1835 try { 1836 1837 result = shardedJedis.setnx(key, value); 1838 1839 } catch (Exception e) { 1840 log.error(e.getMessage(), e); 1841 broken = true; 1842 } finally { 1843 redisDataSource.returnResource(shardedJedis, broken); 1844 } 1845 return result; 1846 } 1847 1848 public String setex(byte[] key, int seconds, byte[] value) { 1849 String result = null; 1850 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1851 if (shardedJedis == null) { 1852 return result; 1853 } 1854 boolean broken = false; 1855 try { 1856 1857 result = shardedJedis.setex(key, seconds, value); 1858 1859 } catch (Exception e) { 1860 log.error(e.getMessage(), e); 1861 broken = true; 1862 } finally { 1863 redisDataSource.returnResource(shardedJedis, broken); 1864 } 1865 return result; 1866 } 1867 1868 public Long decrBy(byte[] key, long integer) { 1869 Long result = null; 1870 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1871 if (shardedJedis == null) { 1872 return result; 1873 } 1874 boolean broken = false; 1875 try { 1876 1877 result = shardedJedis.decrBy(key, integer); 1878 1879 } catch (Exception e) { 1880 log.error(e.getMessage(), e); 1881 broken = true; 1882 } finally { 1883 redisDataSource.returnResource(shardedJedis, broken); 1884 } 1885 return result; 1886 } 1887 1888 public Long decr(byte[] key) { 1889 Long result = null; 1890 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1891 if (shardedJedis == null) { 1892 return result; 1893 } 1894 boolean broken = false; 1895 try { 1896 1897 result = shardedJedis.decr(key); 1898 1899 } catch (Exception e) { 1900 log.error(e.getMessage(), e); 1901 broken = true; 1902 } finally { 1903 redisDataSource.returnResource(shardedJedis, broken); 1904 } 1905 return result; 1906 } 1907 1908 public Long incrBy(byte[] key, long integer) { 1909 Long result = null; 1910 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1911 if (shardedJedis == null) { 1912 return result; 1913 } 1914 boolean broken = false; 1915 try { 1916 1917 result = shardedJedis.incrBy(key, integer); 1918 1919 } catch (Exception e) { 1920 log.error(e.getMessage(), e); 1921 broken = true; 1922 } finally { 1923 redisDataSource.returnResource(shardedJedis, broken); 1924 } 1925 return result; 1926 } 1927 1928 public Long incr(byte[] key) { 1929 Long result = null; 1930 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1931 if (shardedJedis == null) { 1932 return result; 1933 } 1934 boolean broken = false; 1935 try { 1936 1937 result = shardedJedis.incr(key); 1938 1939 } catch (Exception e) { 1940 log.error(e.getMessage(), e); 1941 broken = true; 1942 } finally { 1943 redisDataSource.returnResource(shardedJedis, broken); 1944 } 1945 return result; 1946 } 1947 1948 public Long append(byte[] key, byte[] value) { 1949 Long result = null; 1950 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1951 if (shardedJedis == null) { 1952 return result; 1953 } 1954 boolean broken = false; 1955 try { 1956 1957 result = shardedJedis.append(key, value); 1958 1959 } catch (Exception e) { 1960 log.error(e.getMessage(), e); 1961 broken = true; 1962 } finally { 1963 redisDataSource.returnResource(shardedJedis, broken); 1964 } 1965 return result; 1966 } 1967 1968 public byte[] substr(byte[] key, int start, int end) { 1969 byte[] result = null; 1970 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1971 if (shardedJedis == null) { 1972 return result; 1973 } 1974 boolean broken = false; 1975 try { 1976 1977 result = shardedJedis.substr(key, start, end); 1978 1979 } catch (Exception e) { 1980 log.error(e.getMessage(), e); 1981 broken = true; 1982 } finally { 1983 redisDataSource.returnResource(shardedJedis, broken); 1984 } 1985 return result; 1986 } 1987 1988 public Long hset(byte[] key, byte[] field, byte[] value) { 1989 Long result = null; 1990 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 1991 if (shardedJedis == null) { 1992 return result; 1993 } 1994 boolean broken = false; 1995 try { 1996 1997 result = shardedJedis.hset(key, field, value); 1998 1999 } catch (Exception e) { 2000 log.error(e.getMessage(), e); 2001 broken = true; 2002 } finally { 2003 redisDataSource.returnResource(shardedJedis, broken); 2004 } 2005 return result; 2006 } 2007 2008 public byte[] hget(byte[] key, byte[] field) { 2009 byte[] result = null; 2010 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2011 if (shardedJedis == null) { 2012 return result; 2013 } 2014 boolean broken = false; 2015 try { 2016 2017 result = shardedJedis.hget(key, field); 2018 2019 } catch (Exception e) { 2020 log.error(e.getMessage(), e); 2021 broken = true; 2022 } finally { 2023 redisDataSource.returnResource(shardedJedis, broken); 2024 } 2025 return result; 2026 } 2027 2028 public Long hsetnx(byte[] key, byte[] field, byte[] value) { 2029 Long result = null; 2030 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2031 if (shardedJedis == null) { 2032 return result; 2033 } 2034 boolean broken = false; 2035 try { 2036 2037 result = shardedJedis.hsetnx(key, field, value); 2038 2039 } catch (Exception e) { 2040 2041 log.error(e.getMessage(), e); 2042 broken = true; 2043 } finally { 2044 redisDataSource.returnResource(shardedJedis, broken); 2045 } 2046 return result; 2047 } 2048 2049 public String hmset(byte[] key, Map<byte[], byte[]> hash) { 2050 String result = null; 2051 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2052 if (shardedJedis == null) { 2053 return result; 2054 } 2055 boolean broken = false; 2056 try { 2057 2058 result = shardedJedis.hmset(key, hash); 2059 2060 } catch (Exception e) { 2061 2062 log.error(e.getMessage(), e); 2063 broken = true; 2064 } finally { 2065 redisDataSource.returnResource(shardedJedis, broken); 2066 } 2067 return result; 2068 } 2069 2070 public List<byte[]> hmget(byte[] key, byte[]... fields) { 2071 List<byte[]> result = null; 2072 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2073 if (shardedJedis == null) { 2074 return result; 2075 } 2076 boolean broken = false; 2077 try { 2078 2079 result = shardedJedis.hmget(key, fields); 2080 2081 } catch (Exception e) { 2082 2083 log.error(e.getMessage(), e); 2084 broken = true; 2085 } finally { 2086 redisDataSource.returnResource(shardedJedis, broken); 2087 } 2088 return result; 2089 } 2090 2091 public Long hincrBy(byte[] key, byte[] field, long value) { 2092 Long result = null; 2093 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2094 if (shardedJedis == null) { 2095 return result; 2096 } 2097 boolean broken = false; 2098 try { 2099 2100 result = shardedJedis.hincrBy(key, field, value); 2101 2102 } catch (Exception e) { 2103 2104 log.error(e.getMessage(), e); 2105 broken = true; 2106 } finally { 2107 redisDataSource.returnResource(shardedJedis, broken); 2108 } 2109 return result; 2110 } 2111 2112 public Boolean hexists(byte[] key, byte[] field) { 2113 Boolean result = false; 2114 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2115 if (shardedJedis == null) { 2116 return result; 2117 } 2118 boolean broken = false; 2119 try { 2120 2121 result = shardedJedis.hexists(key, field); 2122 2123 } catch (Exception e) { 2124 2125 log.error(e.getMessage(), e); 2126 broken = true; 2127 } finally { 2128 redisDataSource.returnResource(shardedJedis, broken); 2129 } 2130 return result; 2131 } 2132 2133 public Long hdel(byte[] key, byte[] field) { 2134 Long result = null; 2135 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2136 if (shardedJedis == null) { 2137 return result; 2138 } 2139 boolean broken = false; 2140 try { 2141 2142 result = shardedJedis.hdel(key, field); 2143 2144 } catch (Exception e) { 2145 2146 log.error(e.getMessage(), e); 2147 broken = true; 2148 } finally { 2149 redisDataSource.returnResource(shardedJedis, broken); 2150 } 2151 return result; 2152 } 2153 2154 public Long hlen(byte[] key) { 2155 Long result = null; 2156 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2157 if (shardedJedis == null) { 2158 return result; 2159 } 2160 boolean broken = false; 2161 try { 2162 2163 result = shardedJedis.hlen(key); 2164 2165 } catch (Exception e) { 2166 2167 log.error(e.getMessage(), e); 2168 broken = true; 2169 } finally { 2170 redisDataSource.returnResource(shardedJedis, broken); 2171 } 2172 return result; 2173 } 2174 2175 public Set<byte[]> hkeys(byte[] key) { 2176 Set<byte[]> result = null; 2177 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2178 if (shardedJedis == null) { 2179 return result; 2180 } 2181 boolean broken = false; 2182 try { 2183 2184 result = shardedJedis.hkeys(key); 2185 2186 } catch (Exception e) { 2187 2188 log.error(e.getMessage(), e); 2189 broken = true; 2190 } finally { 2191 redisDataSource.returnResource(shardedJedis, broken); 2192 } 2193 return result; 2194 } 2195 2196 public Collection<byte[]> hvals(byte[] key) { 2197 Collection<byte[]> result = null; 2198 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2199 if (shardedJedis == null) { 2200 return result; 2201 } 2202 boolean broken = false; 2203 try { 2204 2205 result = shardedJedis.hvals(key); 2206 2207 } catch (Exception e) { 2208 2209 log.error(e.getMessage(), e); 2210 broken = true; 2211 } finally { 2212 redisDataSource.returnResource(shardedJedis, broken); 2213 } 2214 return result; 2215 } 2216 2217 public Map<byte[], byte[]> hgetAll(byte[] key) { 2218 Map<byte[], byte[]> result = null; 2219 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2220 if (shardedJedis == null) { 2221 return result; 2222 } 2223 boolean broken = false; 2224 try { 2225 2226 result = shardedJedis.hgetAll(key); 2227 2228 } catch (Exception e) { 2229 2230 log.error(e.getMessage(), e); 2231 broken = true; 2232 } finally { 2233 redisDataSource.returnResource(shardedJedis, broken); 2234 } 2235 return result; 2236 } 2237 2238 public Long rpush(byte[] key, byte[] string) { 2239 Long result = null; 2240 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2241 if (shardedJedis == null) { 2242 return result; 2243 } 2244 boolean broken = false; 2245 try { 2246 2247 result = shardedJedis.rpush(key, string); 2248 2249 } catch (Exception e) { 2250 2251 log.error(e.getMessage(), e); 2252 broken = true; 2253 } finally { 2254 redisDataSource.returnResource(shardedJedis, broken); 2255 } 2256 return result; 2257 } 2258 2259 public Long lpush(byte[] key, byte[] string) { 2260 Long result = null; 2261 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2262 if (shardedJedis == null) { 2263 return result; 2264 } 2265 boolean broken = false; 2266 try { 2267 2268 result = shardedJedis.lpush(key, string); 2269 2270 } catch (Exception e) { 2271 2272 log.error(e.getMessage(), e); 2273 broken = true; 2274 } finally { 2275 redisDataSource.returnResource(shardedJedis, broken); 2276 } 2277 return result; 2278 } 2279 2280 public Long llen(byte[] key) { 2281 Long result = null; 2282 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2283 if (shardedJedis == null) { 2284 return result; 2285 } 2286 boolean broken = false; 2287 try { 2288 2289 result = shardedJedis.llen(key); 2290 2291 } catch (Exception e) { 2292 2293 log.error(e.getMessage(), e); 2294 broken = true; 2295 } finally { 2296 redisDataSource.returnResource(shardedJedis, broken); 2297 } 2298 return result; 2299 } 2300 2301 public List<byte[]> lrange(byte[] key, int start, int end) { 2302 List<byte[]> result = null; 2303 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2304 if (shardedJedis == null) { 2305 return result; 2306 } 2307 boolean broken = false; 2308 try { 2309 2310 result = shardedJedis.lrange(key, start, end); 2311 2312 } catch (Exception e) { 2313 2314 log.error(e.getMessage(), e); 2315 broken = true; 2316 } finally { 2317 redisDataSource.returnResource(shardedJedis, broken); 2318 } 2319 return result; 2320 } 2321 2322 public String ltrim(byte[] key, int start, int end) { 2323 String result = null; 2324 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2325 if (shardedJedis == null) { 2326 return result; 2327 } 2328 boolean broken = false; 2329 try { 2330 2331 result = shardedJedis.ltrim(key, start, end); 2332 2333 } catch (Exception e) { 2334 log.error(e.getMessage(), e); 2335 broken = true; 2336 } finally { 2337 redisDataSource.returnResource(shardedJedis, broken); 2338 } 2339 return result; 2340 } 2341 2342 public byte[] lindex(byte[] key, int index) { 2343 byte[] result = null; 2344 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2345 if (shardedJedis == null) { 2346 return result; 2347 } 2348 boolean broken = false; 2349 try { 2350 2351 result = shardedJedis.lindex(key, index); 2352 2353 } catch (Exception e) { 2354 2355 log.error(e.getMessage(), e); 2356 broken = true; 2357 } finally { 2358 redisDataSource.returnResource(shardedJedis, broken); 2359 } 2360 return result; 2361 } 2362 2363 public String lset(byte[] key, int index, byte[] value) { 2364 String result = null; 2365 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2366 if (shardedJedis == null) { 2367 return result; 2368 } 2369 boolean broken = false; 2370 try { 2371 2372 result = shardedJedis.lset(key, index, value); 2373 2374 } catch (Exception e) { 2375 2376 log.error(e.getMessage(), e); 2377 broken = true; 2378 } finally { 2379 redisDataSource.returnResource(shardedJedis, broken); 2380 } 2381 return result; 2382 } 2383 2384 public Long lrem(byte[] key, int count, byte[] value) { 2385 Long result = null; 2386 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2387 if (shardedJedis == null) { 2388 return result; 2389 } 2390 boolean broken = false; 2391 try { 2392 2393 result = shardedJedis.lrem(key, count, value); 2394 2395 } catch (Exception e) { 2396 2397 log.error(e.getMessage(), e); 2398 broken = true; 2399 } finally { 2400 redisDataSource.returnResource(shardedJedis, broken); 2401 } 2402 return result; 2403 } 2404 2405 public byte[] lpop(byte[] key) { 2406 byte[] result = null; 2407 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2408 if (shardedJedis == null) { 2409 return result; 2410 } 2411 boolean broken = false; 2412 try { 2413 2414 result = shardedJedis.lpop(key); 2415 2416 } catch (Exception e) { 2417 2418 log.error(e.getMessage(), e); 2419 broken = true; 2420 } finally { 2421 redisDataSource.returnResource(shardedJedis, broken); 2422 } 2423 return result; 2424 } 2425 2426 public byte[] rpop(byte[] key) { 2427 byte[] result = null; 2428 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2429 if (shardedJedis == null) { 2430 return result; 2431 } 2432 boolean broken = false; 2433 try { 2434 2435 result = shardedJedis.rpop(key); 2436 2437 } catch (Exception e) { 2438 2439 log.error(e.getMessage(), e); 2440 broken = true; 2441 } finally { 2442 redisDataSource.returnResource(shardedJedis, broken); 2443 } 2444 return result; 2445 } 2446 2447 public Long sadd(byte[] key, byte[] member) { 2448 Long result = null; 2449 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2450 if (shardedJedis == null) { 2451 return result; 2452 } 2453 boolean broken = false; 2454 try { 2455 2456 result = shardedJedis.sadd(key, member); 2457 2458 } catch (Exception e) { 2459 2460 log.error(e.getMessage(), e); 2461 broken = true; 2462 } finally { 2463 redisDataSource.returnResource(shardedJedis, broken); 2464 } 2465 return result; 2466 } 2467 2468 public Set<byte[]> smembers(byte[] key) { 2469 Set<byte[]> result = null; 2470 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2471 if (shardedJedis == null) { 2472 return result; 2473 } 2474 boolean broken = false; 2475 try { 2476 2477 result = shardedJedis.smembers(key); 2478 2479 } catch (Exception e) { 2480 2481 log.error(e.getMessage(), e); 2482 broken = true; 2483 } finally { 2484 redisDataSource.returnResource(shardedJedis, broken); 2485 } 2486 return result; 2487 } 2488 2489 public Long srem(byte[] key, byte[] member) { 2490 Long result = null; 2491 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2492 if (shardedJedis == null) { 2493 return result; 2494 } 2495 boolean broken = false; 2496 try { 2497 2498 result = shardedJedis.srem(key, member); 2499 2500 } catch (Exception e) { 2501 2502 log.error(e.getMessage(), e); 2503 broken = true; 2504 } finally { 2505 redisDataSource.returnResource(shardedJedis, broken); 2506 } 2507 return result; 2508 } 2509 2510 public byte[] spop(byte[] key) { 2511 byte[] result = null; 2512 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2513 if (shardedJedis == null) { 2514 return result; 2515 } 2516 boolean broken = false; 2517 try { 2518 2519 result = shardedJedis.spop(key); 2520 2521 } catch (Exception e) { 2522 2523 log.error(e.getMessage(), e); 2524 broken = true; 2525 } finally { 2526 redisDataSource.returnResource(shardedJedis, broken); 2527 } 2528 return result; 2529 } 2530 2531 public Long scard(byte[] key) { 2532 Long result = null; 2533 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2534 if (shardedJedis == null) { 2535 return result; 2536 } 2537 boolean broken = false; 2538 try { 2539 2540 result = shardedJedis.scard(key); 2541 2542 } catch (Exception e) { 2543 2544 log.error(e.getMessage(), e); 2545 broken = true; 2546 } finally { 2547 redisDataSource.returnResource(shardedJedis, broken); 2548 } 2549 return result; 2550 } 2551 2552 public Boolean sismember(byte[] key, byte[] member) { 2553 Boolean result = false; 2554 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2555 if (shardedJedis == null) { 2556 return result; 2557 } 2558 boolean broken = false; 2559 try { 2560 2561 result = shardedJedis.sismember(key, member); 2562 2563 } catch (Exception e) { 2564 2565 log.error(e.getMessage(), e); 2566 broken = true; 2567 } finally { 2568 redisDataSource.returnResource(shardedJedis, broken); 2569 } 2570 return result; 2571 } 2572 2573 public byte[] srandmember(byte[] key) { 2574 byte[] result = null; 2575 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2576 if (shardedJedis == null) { 2577 return result; 2578 } 2579 boolean broken = false; 2580 try { 2581 2582 result = shardedJedis.srandmember(key); 2583 2584 } catch (Exception e) { 2585 2586 log.error(e.getMessage(), e); 2587 broken = true; 2588 } finally { 2589 redisDataSource.returnResource(shardedJedis, broken); 2590 } 2591 return result; 2592 } 2593 2594 public Long zadd(byte[] key, double score, byte[] member) { 2595 Long result = null; 2596 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2597 if (shardedJedis == null) { 2598 return result; 2599 } 2600 boolean broken = false; 2601 try { 2602 2603 result = shardedJedis.zadd(key, score, member); 2604 2605 } catch (Exception e) { 2606 2607 log.error(e.getMessage(), e); 2608 broken = true; 2609 } finally { 2610 redisDataSource.returnResource(shardedJedis, broken); 2611 } 2612 return result; 2613 } 2614 2615 public Set<byte[]> zrange(byte[] key, int start, int end) { 2616 Set<byte[]> result = null; 2617 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2618 if (shardedJedis == null) { 2619 return result; 2620 } 2621 boolean broken = false; 2622 try { 2623 2624 result = shardedJedis.zrange(key, start, end); 2625 2626 } catch (Exception e) { 2627 2628 log.error(e.getMessage(), e); 2629 broken = true; 2630 } finally { 2631 redisDataSource.returnResource(shardedJedis, broken); 2632 } 2633 return result; 2634 } 2635 2636 public Long zrem(byte[] key, byte[] member) { 2637 Long result = null; 2638 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2639 if (shardedJedis == null) { 2640 return result; 2641 } 2642 boolean broken = false; 2643 try { 2644 2645 result = shardedJedis.zrem(key, member); 2646 2647 } catch (Exception e) { 2648 2649 log.error(e.getMessage(), e); 2650 broken = true; 2651 } finally { 2652 redisDataSource.returnResource(shardedJedis, broken); 2653 } 2654 return result; 2655 } 2656 2657 public Double zincrby(byte[] key, double score, byte[] member) { 2658 Double result = null; 2659 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2660 if (shardedJedis == null) { 2661 return result; 2662 } 2663 boolean broken = false; 2664 try { 2665 2666 result = shardedJedis.zincrby(key, score, member); 2667 2668 } catch (Exception e) { 2669 2670 log.error(e.getMessage(), e); 2671 broken = true; 2672 } finally { 2673 redisDataSource.returnResource(shardedJedis, broken); 2674 } 2675 return result; 2676 } 2677 2678 public Long zrank(byte[] key, byte[] member) { 2679 Long result = null; 2680 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2681 if (shardedJedis == null) { 2682 return result; 2683 } 2684 boolean broken = false; 2685 try { 2686 2687 result = shardedJedis.zrank(key, member); 2688 2689 } catch (Exception e) { 2690 2691 log.error(e.getMessage(), e); 2692 broken = true; 2693 } finally { 2694 redisDataSource.returnResource(shardedJedis, broken); 2695 } 2696 return result; 2697 } 2698 2699 public Long zrevrank(byte[] key, byte[] member) { 2700 Long result = null; 2701 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2702 if (shardedJedis == null) { 2703 return result; 2704 } 2705 boolean broken = false; 2706 try { 2707 2708 result = shardedJedis.zrevrank(key, member); 2709 2710 } catch (Exception e) { 2711 2712 log.error(e.getMessage(), e); 2713 broken = true; 2714 } finally { 2715 redisDataSource.returnResource(shardedJedis, broken); 2716 } 2717 return result; 2718 } 2719 2720 public Set<byte[]> zrevrange(byte[] key, int start, int end) { 2721 Set<byte[]> result = null; 2722 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2723 if (shardedJedis == null) { 2724 return result; 2725 } 2726 boolean broken = false; 2727 try { 2728 2729 result = shardedJedis.zrevrange(key, start, end); 2730 2731 } catch (Exception e) { 2732 2733 log.error(e.getMessage(), e); 2734 broken = true; 2735 } finally { 2736 redisDataSource.returnResource(shardedJedis, broken); 2737 } 2738 return result; 2739 } 2740 2741 public Set<Tuple> zrangeWithScores(byte[] key, int start, int end) { 2742 Set<Tuple> result = null; 2743 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2744 if (shardedJedis == null) { 2745 return result; 2746 } 2747 boolean broken = false; 2748 try { 2749 2750 result = shardedJedis.zrangeWithScores(key, start, end); 2751 2752 } catch (Exception e) { 2753 2754 log.error(e.getMessage(), e); 2755 broken = true; 2756 } finally { 2757 redisDataSource.returnResource(shardedJedis, broken); 2758 } 2759 return result; 2760 } 2761 2762 public Set<Tuple> zrevrangeWithScores(byte[] key, int start, int end) { 2763 Set<Tuple> result = null; 2764 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2765 if (shardedJedis == null) { 2766 return result; 2767 } 2768 boolean broken = false; 2769 try { 2770 2771 result = shardedJedis.zrevrangeWithScores(key, start, end); 2772 2773 } catch (Exception e) { 2774 2775 log.error(e.getMessage(), e); 2776 broken = true; 2777 } finally { 2778 redisDataSource.returnResource(shardedJedis, broken); 2779 } 2780 return result; 2781 } 2782 2783 public Long zcard(byte[] key) { 2784 Long result = null; 2785 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2786 if (shardedJedis == null) { 2787 return result; 2788 } 2789 boolean broken = false; 2790 try { 2791 2792 result = shardedJedis.zcard(key); 2793 2794 } catch (Exception e) { 2795 2796 log.error(e.getMessage(), e); 2797 broken = true; 2798 } finally { 2799 redisDataSource.returnResource(shardedJedis, broken); 2800 } 2801 return result; 2802 } 2803 2804 public Double zscore(byte[] key, byte[] member) { 2805 Double result = null; 2806 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2807 if (shardedJedis == null) { 2808 return result; 2809 } 2810 boolean broken = false; 2811 try { 2812 2813 result = shardedJedis.zscore(key, member); 2814 2815 } catch (Exception e) { 2816 2817 log.error(e.getMessage(), e); 2818 broken = true; 2819 } finally { 2820 redisDataSource.returnResource(shardedJedis, broken); 2821 } 2822 return result; 2823 } 2824 2825 public List<byte[]> sort(byte[] key) { 2826 List<byte[]> result = null; 2827 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2828 if (shardedJedis == null) { 2829 return result; 2830 } 2831 boolean broken = false; 2832 try { 2833 2834 result = shardedJedis.sort(key); 2835 2836 } catch (Exception e) { 2837 2838 log.error(e.getMessage(), e); 2839 broken = true; 2840 } finally { 2841 redisDataSource.returnResource(shardedJedis, broken); 2842 } 2843 return result; 2844 } 2845 2846 public List<byte[]> sort(byte[] key, SortingParams sortingParameters) { 2847 List<byte[]> result = null; 2848 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2849 if (shardedJedis == null) { 2850 return result; 2851 } 2852 boolean broken = false; 2853 try { 2854 2855 result = shardedJedis.sort(key, sortingParameters); 2856 2857 } catch (Exception e) { 2858 2859 log.error(e.getMessage(), e); 2860 broken = true; 2861 } finally { 2862 redisDataSource.returnResource(shardedJedis, broken); 2863 } 2864 return result; 2865 } 2866 2867 public Long zcount(byte[] key, double min, double max) { 2868 Long result = null; 2869 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2870 if (shardedJedis == null) { 2871 return result; 2872 } 2873 boolean broken = false; 2874 try { 2875 2876 result = shardedJedis.zcount(key, min, max); 2877 2878 } catch (Exception e) { 2879 2880 log.error(e.getMessage(), e); 2881 broken = true; 2882 } finally { 2883 redisDataSource.returnResource(shardedJedis, broken); 2884 } 2885 return result; 2886 } 2887 2888 public Set<byte[]> zrangeByScore(byte[] key, double min, double max) { 2889 Set<byte[]> result = null; 2890 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2891 if (shardedJedis == null) { 2892 return result; 2893 } 2894 boolean broken = false; 2895 try { 2896 2897 result = shardedJedis.zrangeByScore(key, min, max); 2898 2899 } catch (Exception e) { 2900 2901 log.error(e.getMessage(), e); 2902 broken = true; 2903 } finally { 2904 redisDataSource.returnResource(shardedJedis, broken); 2905 } 2906 return result; 2907 } 2908 2909 public Set<byte[]> zrangeByScore(byte[] key, double min, double max, int offset, int count) { 2910 Set<byte[]> result = null; 2911 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2912 if (shardedJedis == null) { 2913 return result; 2914 } 2915 boolean broken = false; 2916 try { 2917 2918 result = shardedJedis.zrangeByScore(key, min, max, offset, count); 2919 2920 } catch (Exception e) { 2921 2922 log.error(e.getMessage(), e); 2923 broken = true; 2924 } finally { 2925 redisDataSource.returnResource(shardedJedis, broken); 2926 } 2927 return result; 2928 } 2929 2930 public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max) { 2931 Set<Tuple> result = null; 2932 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2933 if (shardedJedis == null) { 2934 return result; 2935 } 2936 boolean broken = false; 2937 try { 2938 2939 result = shardedJedis.zrangeByScoreWithScores(key, min, max); 2940 2941 } catch (Exception e) { 2942 2943 log.error(e.getMessage(), e); 2944 broken = true; 2945 } finally { 2946 redisDataSource.returnResource(shardedJedis, broken); 2947 } 2948 return result; 2949 } 2950 2951 public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max, int offset, int count) { 2952 Set<Tuple> result = null; 2953 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2954 if (shardedJedis == null) { 2955 return result; 2956 } 2957 boolean broken = false; 2958 try { 2959 2960 result = shardedJedis.zrangeByScoreWithScores(key, min, max, offset, count); 2961 2962 } catch (Exception e) { 2963 2964 log.error(e.getMessage(), e); 2965 broken = true; 2966 } finally { 2967 redisDataSource.returnResource(shardedJedis, broken); 2968 } 2969 return result; 2970 } 2971 2972 public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min) { 2973 Set<byte[]> result = null; 2974 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2975 if (shardedJedis == null) { 2976 return result; 2977 } 2978 boolean broken = false; 2979 try { 2980 2981 result = shardedJedis.zrevrangeByScore(key, max, min); 2982 2983 } catch (Exception e) { 2984 2985 log.error(e.getMessage(), e); 2986 broken = true; 2987 } finally { 2988 redisDataSource.returnResource(shardedJedis, broken); 2989 } 2990 return result; 2991 } 2992 2993 public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min, int offset, int count) { 2994 Set<byte[]> result = null; 2995 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 2996 if (shardedJedis == null) { 2997 return result; 2998 } 2999 boolean broken = false; 3000 try { 3001 3002 result = shardedJedis.zrevrangeByScore(key, max, min, offset, count); 3003 3004 } catch (Exception e) { 3005 3006 log.error(e.getMessage(), e); 3007 broken = true; 3008 } finally { 3009 redisDataSource.returnResource(shardedJedis, broken); 3010 } 3011 return result; 3012 } 3013 3014 public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min) { 3015 Set<Tuple> result = null; 3016 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3017 if (shardedJedis == null) { 3018 return result; 3019 } 3020 boolean broken = false; 3021 try { 3022 3023 result = shardedJedis.zrevrangeByScoreWithScores(key, max, min); 3024 3025 } catch (Exception e) { 3026 3027 log.error(e.getMessage(), e); 3028 broken = true; 3029 } finally { 3030 redisDataSource.returnResource(shardedJedis, broken); 3031 } 3032 return result; 3033 } 3034 3035 public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset, int count) { 3036 Set<Tuple> result = null; 3037 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3038 if (shardedJedis == null) { 3039 return result; 3040 } 3041 boolean broken = false; 3042 try { 3043 3044 result = shardedJedis.zrevrangeByScoreWithScores(key, max, min, offset, count); 3045 3046 } catch (Exception e) { 3047 3048 log.error(e.getMessage(), e); 3049 broken = true; 3050 } finally { 3051 redisDataSource.returnResource(shardedJedis, broken); 3052 } 3053 return result; 3054 } 3055 3056 public Long zremrangeByRank(byte[] key, int start, int end) { 3057 Long result = null; 3058 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3059 if (shardedJedis == null) { 3060 return result; 3061 } 3062 boolean broken = false; 3063 try { 3064 3065 result = shardedJedis.zremrangeByRank(key, start, end); 3066 3067 } catch (Exception e) { 3068 3069 log.error(e.getMessage(), e); 3070 broken = true; 3071 } finally { 3072 redisDataSource.returnResource(shardedJedis, broken); 3073 } 3074 return result; 3075 } 3076 3077 public Long zremrangeByScore(byte[] key, double start, double end) { 3078 Long result = null; 3079 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3080 if (shardedJedis == null) { 3081 return result; 3082 } 3083 boolean broken = false; 3084 try { 3085 3086 result = shardedJedis.zremrangeByScore(key, start, end); 3087 3088 } catch (Exception e) { 3089 log.error(e.getMessage(), e); 3090 broken = true; 3091 } finally { 3092 redisDataSource.returnResource(shardedJedis, broken); 3093 } 3094 return result; 3095 } 3096 3097 public Long linsert(byte[] key, LIST_POSITION where, byte[] pivot, byte[] value) { 3098 Long result = null; 3099 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3100 if (shardedJedis == null) { 3101 return result; 3102 } 3103 boolean broken = false; 3104 try { 3105 3106 result = shardedJedis.linsert(key, where, pivot, value); 3107 3108 } catch (Exception e) { 3109 log.error(e.getMessage(), e); 3110 broken = true; 3111 } finally { 3112 redisDataSource.returnResource(shardedJedis, broken); 3113 } 3114 return result; 3115 } 3116 3117 public List<Object> pipelined(ShardedJedisPipeline shardedJedisPipeline) { 3118 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3119 List<Object> result = null; 3120 if (shardedJedis == null) { 3121 return result; 3122 } 3123 boolean broken = false; 3124 try { 3125 result = shardedJedis.pipelined(shardedJedisPipeline); 3126 } catch (Exception e) { 3127 log.error(e.getMessage(), e); 3128 broken = true; 3129 } finally { 3130 redisDataSource.returnResource(shardedJedis, broken); 3131 } 3132 return result; 3133 } 3134 3135 public Jedis getShard(byte[] key) { 3136 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3137 Jedis result = null; 3138 if (shardedJedis == null) { 3139 return result; 3140 } 3141 boolean broken = false; 3142 try { 3143 result = shardedJedis.getShard(key); 3144 } catch (Exception e) { 3145 log.error(e.getMessage(), e); 3146 broken = true; 3147 } finally { 3148 redisDataSource.returnResource(shardedJedis, broken); 3149 } 3150 return result; 3151 } 3152 3153 public Jedis getShard(String key) { 3154 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3155 Jedis result = null; 3156 if (shardedJedis == null) { 3157 return result; 3158 } 3159 boolean broken = false; 3160 try { 3161 result = shardedJedis.getShard(key); 3162 } catch (Exception e) { 3163 log.error(e.getMessage(), e); 3164 broken = true; 3165 } finally { 3166 redisDataSource.returnResource(shardedJedis, broken); 3167 } 3168 return result; 3169 } 3170 3171 public JedisShardInfo getShardInfo(byte[] key) { 3172 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3173 JedisShardInfo result = null; 3174 if (shardedJedis == null) { 3175 return result; 3176 } 3177 boolean broken = false; 3178 try { 3179 result = shardedJedis.getShardInfo(key); 3180 } catch (Exception e) { 3181 log.error(e.getMessage(), e); 3182 broken = true; 3183 } finally { 3184 redisDataSource.returnResource(shardedJedis, broken); 3185 } 3186 return result; 3187 } 3188 3189 public JedisShardInfo getShardInfo(String key) { 3190 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3191 JedisShardInfo result = null; 3192 if (shardedJedis == null) { 3193 return result; 3194 } 3195 boolean broken = false; 3196 try { 3197 result = shardedJedis.getShardInfo(key); 3198 } catch (Exception e) { 3199 log.error(e.getMessage(), e); 3200 broken = true; 3201 } finally { 3202 redisDataSource.returnResource(shardedJedis, broken); 3203 } 3204 return result; 3205 } 3206 3207 public String getKeyTag(String key) { 3208 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3209 String result = null; 3210 if (shardedJedis == null) { 3211 return result; 3212 } 3213 boolean broken = false; 3214 try { 3215 result = shardedJedis.getKeyTag(key); 3216 } catch (Exception e) { 3217 log.error(e.getMessage(), e); 3218 broken = true; 3219 } finally { 3220 redisDataSource.returnResource(shardedJedis, broken); 3221 } 3222 return result; 3223 } 3224 3225 public Collection<JedisShardInfo> getAllShardInfo() { 3226 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3227 Collection<JedisShardInfo> result = null; 3228 if (shardedJedis == null) { 3229 return result; 3230 } 3231 boolean broken = false; 3232 try { 3233 result = shardedJedis.getAllShardInfo(); 3234 3235 } catch (Exception e) { 3236 log.error(e.getMessage(), e); 3237 broken = true; 3238 } finally { 3239 redisDataSource.returnResource(shardedJedis, broken); 3240 } 3241 return result; 3242 } 3243 3244 public Collection<Jedis> getAllShards() { 3245 ShardedJedis shardedJedis = redisDataSource.getRedisClient(); 3246 Collection<Jedis> result = null; 3247 if (shardedJedis == null) { 3248 return result; 3249 } 3250 boolean broken = false; 3251 try { 3252 result = shardedJedis.getAllShards(); 3253 3254 } catch (Exception e) { 3255 log.error(e.getMessage(), e); 3256 broken = true; 3257 } finally { 3258 redisDataSource.returnResource(shardedJedis, broken); 3259 } 3260 return result; 3261 } 3262 3263 }
RedisDataSource 文件:
1 package common.utils.redis; 2 3 import redis.clients.jedis.ShardedJedis; 4 5 public interface RedisDataSource { 6 public abstract ShardedJedis getRedisClient(); 7 public void returnResource(ShardedJedis shardedJedis); 8 public void returnResource(ShardedJedis shardedJedis,boolean broken); 9 }
RedisDataSourceImpl 文件:
1 package common.utils.redis; 2 3 import org.slf4j.Logger; 4 import org.slf4j.LoggerFactory; 5 6 import redis.clients.jedis.ShardedJedis; 7 import redis.clients.jedis.ShardedJedisPool; 8 /** 9 * RedisDataSourceImpl 10 * 11 * @description 12 * getRedisClient() : 取得redis的客戶端,等待執行命令。 13 * returnResource(ShardedJedis shardedJedis) : 將資源返還給pool 14 * returnResource(ShardedJedis shardedJedis, boolean broken) : 出現異常後,將資源返還給pool 15 * 16 * @author HuangShaoFeng 17 * @createDate 2017年2月15日 18 */ 19 public class RedisDataSourceImpl implements RedisDataSource { 20 21 private static final Logger log = LoggerFactory.getLogger(RedisDataSourceImpl.class); 22 23 private static ShardedJedisPool shardedJedisPool; 24 static { 25 synchronized (ShardedJedisPool.class) { 26 if (shardedJedisPool == null) { 27 shardedJedisPool = JedisPool.getPool(); 28 } 29 } 30 } 31 public ShardedJedis getRedisClient() { 32 try { 33 ShardedJedis shardJedis = shardedJedisPool.getResource(); 34 return shardJedis; 35 } catch (Exception e) { 36 log.error("getRedisClent error", e); 37 } 38 return null; 39 } 40 41 public void returnResource(ShardedJedis shardedJedis) { 42 shardedJedisPool.returnResource(shardedJedis); 43 } 44 45 public void returnResource(ShardedJedis shardedJedis, boolean broken) { 46 if (broken) { 47 shardedJedisPool.returnBrokenResource(shardedJedis); 48 } else { 49 shardedJedisPool.returnResource(shardedJedis); 50 } 51 } 52 }
至此,項目redis緩存已經配置好.........!
好了,第一篇博客就這樣簡單的弄完了.往後將發些博客.將開發學習中的筆記作好整理.
學而不思則罔 思而不學則殆
多搬磚,少挖坑!