天天看點

redis在Java web項目的一些方法解釋

  1. package com.redis;  
  2. import org.slf4j.LoggerFactory;  
  3. import org.springframework.beans.factory.annotation.Autowired;  
  4. import redis.clients.jedis.Jedis;  
  5. import redis.clients.jedis.JedisShardInfo;  
  6. import redis.clients.jedis.ShardedJedis;  
  7. public class RedisClientTemplate {  
  8.     private static final org.slf4j.Logger log=LoggerFactory.getLogger(RedisClientTemplate.class);  
  9.     @Autowired  
  10.     private RedisDataSource redisDataSource;  
  11.     public RedisDataSource getRedisDataSource() {  
  12.         return redisDataSource;  
  13.     }  
  14.     public void setRedisDataSource(RedisDataSource redisDataSource) {  
  15.         this.redisDataSource = redisDataSource;  
  16.     }  
  17.     public void disconnect(){  
  18.         ShardedJedis shardedJedis=redisDataSource.getRedisClient();  
  19.         shardedJedis.disconnect();  
  20.     }  
  21.     public String set(String key, String value){  
  22.         String result=null;  
  23.         ShardedJedis shardedJedis=redisDataSource.getRedisClient();  
  24.         if(shardedJedis==null){  
  25.             return result;  
  26.         }  
  27.         boolean broken=false;  
  28.         try {  
  29.             result=shardedJedis.set(key, value);  
  30.         } catch (Exception e) {  
  31.             broken=true;  
  32.             e.printStackTrace();  
  33.         }finally{  
  34.             redisDataSource.returnResource(shardedJedis, broken);  
  35.         }  
  36.         return result;  
  37.     }  
  38.     public String get(String key) {  
  39.         String result = null;  
  40.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  41.         if (shardedJedis == null) {  
  42.             return result;  
  43.         }  
  44.         boolean broken = false;  
  45.         try {  
  46.             result = shardedJedis.get(key);  
  47.         } catch (Exception e) {  
  48.             log.error(e.getMessage(), e);  
  49.             broken = true;  
  50.         } finally {  
  51.             redisDataSource.returnResource(shardedJedis, broken);  
  52.         }  
  53.         return result;  
  54.     }  
  55.     public Boolean exists(String key) {  
  56.         Boolean result = false;  
  57.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  58.         if (shardedJedis == null) {  
  59.             return result;  
  60.         }  
  61.         boolean broken = false;  
  62.         try {  
  63.             result = shardedJedis.exists(key);  
  64.         } catch (Exception e) {  
  65.             log.error(e.getMessage(), e);  
  66.             broken = true;  
  67.         } finally {  
  68.             redisDataSource.returnResource(shardedJedis, broken);  
  69.         }  
  70.         return result;  
  71.     }  
  72.     public String type(String key) {  
  73.         String result = null;  
  74.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  75.         if (shardedJedis == null) {  
  76.             return result;  
  77.         }  
  78.         boolean broken = false;  
  79.         try {  
  80.             result = shardedJedis.type(key);  
  81.         } catch (Exception e) {  
  82.             log.error(e.getMessage(), e);  
  83.             broken = true;  
  84.         } finally {  
  85.             redisDataSource.returnResource(shardedJedis, broken);  
  86.         }  
  87.         return result;  
  88.     }  
  89.     public Long expire(String key, int seconds) {  
  90.         Long result = null;  
  91.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  92.         if (shardedJedis == null) {  
  93.             return result;  
  94.         }  
  95.         boolean broken = false;  
  96.         try {  
  97.             result = shardedJedis.expire(key, seconds);  
  98.         } catch (Exception e) {  
  99.             log.error(e.getMessage(), e);  
  100.             broken = true;  
  101.         } finally {  
  102.             redisDataSource.returnResource(shardedJedis, broken);  
  103.         }  
  104.         return result;  
  105.     }  
  106.     public Long expireAt(String key, long unixTime) {  
  107.         Long result = null;  
  108.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  109.         if (shardedJedis == null) {  
  110.             return result;  
  111.         }  
  112.         boolean broken = false;  
  113.         try {  
  114.             result = shardedJedis.expireAt(key, unixTime);  
  115.         } catch (Exception e) {  
  116.             log.error(e.getMessage(), e);  
  117.             broken = true;  
  118.         } finally {  
  119.             redisDataSource.returnResource(shardedJedis, broken);  
  120.         }  
  121.         return result;  
  122.     }  
  123.     public Long ttl(String key) {  
  124.         Long result = null;  
  125.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  126.         if (shardedJedis == null) {  
  127.             return result;  
  128.         }  
  129.         boolean broken = false;  
  130.         try {  
  131.             result = shardedJedis.ttl(key);  
  132.         } catch (Exception e) {  
  133.             log.error(e.getMessage(), e);  
  134.             broken = true;  
  135.         } finally {  
  136.             redisDataSource.returnResource(shardedJedis, broken);  
  137.         }  
  138.         return result;  
  139.     }  
  140.     public Long setnx(String key, String value) {  
  141.         Long result = null;  
  142.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  143.         if (shardedJedis == null) {  
  144.             return result;  
  145.         }  
  146.         boolean broken = false;  
  147.         try {  
  148.             result = shardedJedis.setnx(key, value);  
  149.         } catch (Exception e) {  
  150.             log.error(e.getMessage(), e);  
  151.             broken = true;  
  152.         } finally {  
  153.             redisDataSource.returnResource(shardedJedis, broken);  
  154.         }  
  155.         return result;  
  156.     }  
  157.     public String setex(String key, int seconds, String value) {  
  158.         String result = null;  
  159.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  160.         if (shardedJedis == null) {  
  161.             return result;  
  162.         }  
  163.         boolean broken = false;  
  164.         try {  
  165.             result = shardedJedis.setex(key, seconds, value);  
  166.         } catch (Exception e) {  
  167.             log.error(e.getMessage(), e);  
  168.             broken = true;  
  169.         } finally {  
  170.             redisDataSource.returnResource(shardedJedis, broken);  
  171.         }  
  172.         return result;  
  173.     }  
  174.     public Long decrBy(String key, long integer) {  
  175.         Long result = null;  
  176.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  177.         if (shardedJedis == null) {  
  178.             return result;  
  179.         }  
  180.         boolean broken = false;  
  181.         try {  
  182.             result = shardedJedis.decrBy(key, integer);  
  183.         } catch (Exception e) {  
  184.             log.error(e.getMessage(), e);  
  185.             broken = true;  
  186.         } finally {  
  187.             redisDataSource.returnResource(shardedJedis, broken);  
  188.         }  
  189.         return result;  
  190.     }  
  191.     public Long decr(String key) {  
  192.         Long result = null;  
  193.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  194.         if (shardedJedis == null) {  
  195.             return result;  
  196.         }  
  197.         boolean broken = false;  
  198.         try {  
  199.             result = shardedJedis.decr(key);  
  200.         } catch (Exception e) {  
  201.             log.error(e.getMessage(), e);  
  202.             broken = true;  
  203.         } finally {  
  204.             redisDataSource.returnResource(shardedJedis, broken);  
  205.         }  
  206.         return result;  
  207.     }  
  208.     public Long incrBy(String key, long integer) {  
  209.         Long result = null;  
  210.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  211.         if (shardedJedis == null) {  
  212.             return result;  
  213.         }  
  214.         boolean broken = false;  
  215.         try {  
  216.             result = shardedJedis.incrBy(key, integer);  
  217.         } catch (Exception e) {  
  218.             log.error(e.getMessage(), e);  
  219.             broken = true;  
  220.         } finally {  
  221.             redisDataSource.returnResource(shardedJedis, broken);  
  222.         }  
  223.         return result;  
  224.     }  
  225.     public Long incr(String key) {  
  226.         Long result = null;  
  227.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  228.         if (shardedJedis == null) {  
  229.             return result;  
  230.         }  
  231.         boolean broken = false;  
  232.         try {  
  233.             result = shardedJedis.incr(key);  
  234.         } catch (Exception e) {  
  235.             log.error(e.getMessage(), e);  
  236.             broken = true;  
  237.         } finally {  
  238.             redisDataSource.returnResource(shardedJedis, broken);  
  239.         }  
  240.         return result;  
  241.     }  
  242.     public Long append(String key, String value) {  
  243.         Long result = null;  
  244.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  245.         if (shardedJedis == null) {  
  246.             return result;  
  247.         }  
  248.         boolean broken = false;  
  249.         try {  
  250.             result = shardedJedis.append(key, value);  
  251.         } catch (Exception e) {  
  252.             log.error(e.getMessage(), e);  
  253.             broken = true;  
  254.         } finally {  
  255.             redisDataSource.returnResource(shardedJedis, broken);  
  256.         }  
  257.         return result;  
  258.     }  
  259.     public String substr(String key, int start, int end) {  
  260.         String result = null;  
  261.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  262.         if (shardedJedis == null) {  
  263.             return result;  
  264.         }  
  265.         boolean broken = false;  
  266.         try {  
  267.             result = shardedJedis.substr(key, start, end);  
  268.         } catch (Exception e) {  
  269.             log.error(e.getMessage(), e);  
  270.             broken = true;  
  271.         } finally {  
  272.             redisDataSource.returnResource(shardedJedis, broken);  
  273.         }  
  274.         return result;  
  275.     }  
  276.     public Long hset(String key, String field, String value) {  
  277.         Long result = null;  
  278.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  279.         if (shardedJedis == null) {  
  280.             return result;  
  281.         }  
  282.         boolean broken = false;  
  283.         try {  
  284.             result = shardedJedis.hset(key, field, value);  
  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.     public String hget(String key, String field) {  
  294.         String result = null;  
  295.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  296.         if (shardedJedis == null) {  
  297.             return result;  
  298.         }  
  299.         boolean broken = false;  
  300.         try {  
  301.             result = shardedJedis.hget(key, field);  
  302.         } catch (Exception e) {  
  303.             log.error(e.getMessage(), e);  
  304.             broken = true;  
  305.         } finally {  
  306.             redisDataSource.returnResource(shardedJedis, broken);  
  307.         }  
  308.         return result;  
  309.     }  
  310.     public String hmset(String key, Map<String, String> hash) {  
  311.         String result = null;  
  312.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  313.         if (shardedJedis == null) {  
  314.             return result;  
  315.         }  
  316.         boolean broken = false;  
  317.         try {  
  318.             result = shardedJedis.hmset(key, hash);  
  319.         } catch (Exception e) {  
  320.             log.error(e.getMessage(), e);  
  321.             broken = true;  
  322.         } finally {  
  323.             redisDataSource.returnResource(shardedJedis, broken);  
  324.         }  
  325.         return result;  
  326.     }  
  327.     public List<String> hmget(String key, String... fields) {  
  328.         List<String> result = null;  
  329.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  330.         if (shardedJedis == null) {  
  331.             return result;  
  332.         }  
  333.         boolean broken = false;  
  334.         try {  
  335.             result = shardedJedis.hmget(key, fields);  
  336.         } catch (Exception e) {  
  337.             log.error(e.getMessage(), e);  
  338.             broken = true;  
  339.         } finally {  
  340.             redisDataSource.returnResource(shardedJedis, broken);  
  341.         }  
  342.         return result;  
  343.     }  
  344.     public Long hincrBy(String key, String field, long value) {  
  345.         Long result = null;  
  346.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  347.         if (shardedJedis == null) {  
  348.             return result;  
  349.         }  
  350.         boolean broken = false;  
  351.         try {  
  352.             result = shardedJedis.hincrBy(key, field, value);  
  353.         } catch (Exception e) {  
  354.             log.error(e.getMessage(), e);  
  355.             broken = true;  
  356.         } finally {  
  357.             redisDataSource.returnResource(shardedJedis, broken);  
  358.         }  
  359.         return result;  
  360.     }  
  361.     public Boolean hexists(String key, String field) {  
  362.         Boolean result = false;  
  363.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  364.         if (shardedJedis == null) {  
  365.             return result;  
  366.         }  
  367.         boolean broken = false;  
  368.         try {  
  369.             result = shardedJedis.hexists(key, field);  
  370.         } catch (Exception e) {  
  371.             log.error(e.getMessage(), e);  
  372.             broken = true;  
  373.         } finally {  
  374.             redisDataSource.returnResource(shardedJedis, broken);  
  375.         }  
  376.         return result;  
  377.     }  
  378.     public Long del(String key) {  
  379.         Long result = null;  
  380.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  381.         if (shardedJedis == null) {  
  382.             return result;  
  383.         }  
  384.         boolean broken = false;  
  385.         try {  
  386.             result = shardedJedis.del(key);  
  387.         } catch (Exception e) {  
  388.             log.error(e.getMessage(), e);  
  389.             broken = true;  
  390.         } finally {  
  391.             redisDataSource.returnResource(shardedJedis, broken);  
  392.         }  
  393.         return result;  
  394.     }  
  395.     public Long hdel(String key, String field) {  
  396.         Long result = null;  
  397.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  398.         if (shardedJedis == null) {  
  399.             return result;  
  400.         }  
  401.         boolean broken = false;  
  402.         try {  
  403.             result = shardedJedis.hdel(key, field);  
  404.         } catch (Exception e) {  
  405.             log.error(e.getMessage(), e);  
  406.             broken = true;  
  407.         } finally {  
  408.             redisDataSource.returnResource(shardedJedis, broken);  
  409.         }  
  410.         return result;  
  411.     }  
  412.     public Long hlen(String key) {  
  413.         Long result = null;  
  414.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  415.         if (shardedJedis == null) {  
  416.             return result;  
  417.         }  
  418.         boolean broken = false;  
  419.         try {  
  420.             result = shardedJedis.hlen(key);  
  421.         } catch (Exception e) {  
  422.             log.error(e.getMessage(), e);  
  423.             broken = true;  
  424.         } finally {  
  425.             redisDataSource.returnResource(shardedJedis, broken);  
  426.         }  
  427.         return result;  
  428.     }  
  429.     public Set<String> hkeys(String key) {  
  430.         Set<String> result = null;  
  431.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  432.         if (shardedJedis == null) {  
  433.             return result;  
  434.         }  
  435.         boolean broken = false;  
  436.         try {  
  437.             result = shardedJedis.hkeys(key);  
  438.         } catch (Exception e) {  
  439.             log.error(e.getMessage(), e);  
  440.             broken = true;  
  441.         } finally {  
  442.             redisDataSource.returnResource(shardedJedis, broken);  
  443.         }  
  444.         return result;  
  445.     }  
  446.     public List<String> hvals(String key) {  
  447.         List<String> result = null;  
  448.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  449.         if (shardedJedis == null) {  
  450.             return result;  
  451.         }  
  452.         boolean broken = false;  
  453.         try {  
  454.             result = shardedJedis.hvals(key);  
  455.         } catch (Exception e) {  
  456.             log.error(e.getMessage(), e);  
  457.             broken = true;  
  458.         } finally {  
  459.             redisDataSource.returnResource(shardedJedis, broken);  
  460.         }  
  461.         return result;  
  462.     }  
  463.     public Map<String, String> hgetAll(String key) {  
  464.         Map<String, String> result = null;  
  465.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  466.         if (shardedJedis == null) {  
  467.             return result;  
  468.         }  
  469.         boolean broken = false;  
  470.         try {  
  471.             result = shardedJedis.hgetAll(key);  
  472.         } catch (Exception e) {  
  473.             log.error(e.getMessage(), e);  
  474.             broken = true;  
  475.         } finally {  
  476.             redisDataSource.returnResource(shardedJedis, broken);  
  477.         }  
  478.         return result;  
  479.     }  
  480.     // ================list ====== l表示 list或 left, r表示right====================  
  481.     public Long rpush(String key, String string) {  
  482.         Long result = null;  
  483.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  484.         if (shardedJedis == null) {  
  485.             return result;  
  486.         }  
  487.         boolean broken = false;  
  488.         try {  
  489.             result = shardedJedis.rpush(key, string);  
  490.         } catch (Exception e) {  
  491.             log.error(e.getMessage(), e);  
  492.             broken = true;  
  493.         } finally {  
  494.             redisDataSource.returnResource(shardedJedis, broken);  
  495.         }  
  496.         return result;  
  497.     }  
  498.     public Long lpush(String key, String string) {  
  499.         Long result = null;  
  500.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  501.         if (shardedJedis == null) {  
  502.             return result;  
  503.         }  
  504.         boolean broken = false;  
  505.         try {  
  506.             result = shardedJedis.lpush(key, string);  
  507.         } catch (Exception e) {  
  508.             log.error(e.getMessage(), e);  
  509.             broken = true;  
  510.         } finally {  
  511.             redisDataSource.returnResource(shardedJedis, broken);  
  512.         }  
  513.         return result;  
  514.     }  
  515.     public Long llen(String key) {  
  516.         Long result = null;  
  517.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  518.         if (shardedJedis == null) {  
  519.             return result;  
  520.         }  
  521.         boolean broken = false;  
  522.         try {  
  523.             result = shardedJedis.llen(key);  
  524.         } catch (Exception e) {  
  525.             log.error(e.getMessage(), e);  
  526.             broken = true;  
  527.         } finally {  
  528.             redisDataSource.returnResource(shardedJedis, broken);  
  529.         }  
  530.         return result;  
  531.     }  
  532.     public List<String> lrange(String key, long start, long end) {  
  533.         List<String> result = null;  
  534.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  535.         if (shardedJedis == null) {  
  536.             return result;  
  537.         }  
  538.         boolean broken = false;  
  539.         try {  
  540.             result = shardedJedis.lrange(key, start, end);  
  541.         } catch (Exception e) {  
  542.             log.error(e.getMessage(), e);  
  543.             broken = true;  
  544.         } finally {  
  545.             redisDataSource.returnResource(shardedJedis, broken);  
  546.         }  
  547.         return result;  
  548.     }  
  549.     public String ltrim(String key, long start, long end) {  
  550.         String result = null;  
  551.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  552.         if (shardedJedis == null) {  
  553.             return result;  
  554.         }  
  555.         boolean broken = false;  
  556.         try {  
  557.             result = shardedJedis.ltrim(key, start, end);  
  558.         } catch (Exception e) {  
  559.             log.error(e.getMessage(), e);  
  560.             broken = true;  
  561.         } finally {  
  562.             redisDataSource.returnResource(shardedJedis, broken);  
  563.         }  
  564.         return result;  
  565.     }  
  566.     public String lindex(String key, long index) {  
  567.         String result = null;  
  568.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  569.         if (shardedJedis == null) {  
  570.             return result;  
  571.         }  
  572.         boolean broken = false;  
  573.         try {  
  574.             result = shardedJedis.lindex(key, index);  
  575.         } catch (Exception e) {  
  576.             log.error(e.getMessage(), e);  
  577.             broken = true;  
  578.         } finally {  
  579.             redisDataSource.returnResource(shardedJedis, broken);  
  580.         }  
  581.         return result;  
  582.     }  
  583.     public String lset(String key, long index, String value) {  
  584.         String result = null;  
  585.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  586.         if (shardedJedis == null) {  
  587.             return result;  
  588.         }  
  589.         boolean broken = false;  
  590.         try {  
  591.             result = shardedJedis.lset(key, index, value);  
  592.         } catch (Exception e) {  
  593.             log.error(e.getMessage(), e);  
  594.             broken = true;  
  595.         } finally {  
  596.             redisDataSource.returnResource(shardedJedis, broken);  
  597.         }  
  598.         return result;  
  599.     }  
  600.     public String lpop(String key) {  
  601.         String result = null;  
  602.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  603.         if (shardedJedis == null) {  
  604.             return result;  
  605.         }  
  606.         boolean broken = false;  
  607.         try {  
  608.             result = shardedJedis.lpop(key);  
  609.         } catch (Exception e) {  
  610.             log.error(e.getMessage(), e);  
  611.             broken = true;  
  612.         } finally {  
  613.             redisDataSource.returnResource(shardedJedis, broken);  
  614.         }  
  615.         return result;  
  616.     }  
  617.     public String rpop(String key) {  
  618.         String result = null;  
  619.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  620.         if (shardedJedis == null) {  
  621.             return result;  
  622.         }  
  623.         boolean broken = false;  
  624.         try {  
  625.             result = shardedJedis.rpop(key);  
  626.         } catch (Exception e) {  
  627.             log.error(e.getMessage(), e);  
  628.             broken = true;  
  629.         } finally {  
  630.             redisDataSource.returnResource(shardedJedis, broken);  
  631.         }  
  632.         return result;  
  633.     }  
  634.     //return 1 add a not exist value ,  
  635.     //return 0 add a exist value  
  636.     public Long sadd(String key, String member) {  
  637.         Long result = null;  
  638.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  639.         if (shardedJedis == null) {  
  640.             return result;  
  641.         }  
  642.         boolean broken = false;  
  643.         try {  
  644.             result = shardedJedis.sadd(key, member);  
  645.         } catch (Exception e) {  
  646.             log.error(e.getMessage(), e);  
  647.             broken = true;  
  648.         } finally {  
  649.             redisDataSource.returnResource(shardedJedis, broken);  
  650.         }  
  651.         return result;  
  652.     }  
  653.     public Set<String> smembers(String key) {  
  654.         Set<String> result = null;  
  655.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  656.         if (shardedJedis == null) {  
  657.             return result;  
  658.         }  
  659.         boolean broken = false;  
  660.         try {  
  661.             result = shardedJedis.smembers(key);  
  662.         } catch (Exception e) {  
  663.             log.error(e.getMessage(), e);  
  664.             broken = true;  
  665.         } finally {  
  666.             redisDataSource.returnResource(shardedJedis, broken);  
  667.         }  
  668.         return result;  
  669.     }  
  670.     public Long scard(String key) {  
  671.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  672.         Long result = null;  
  673.         if (shardedJedis == null) {  
  674.             return result;  
  675.         }  
  676.         boolean broken = false;  
  677.         try {  
  678.             result = shardedJedis.scard(key);  
  679.         } catch (Exception e) {  
  680.             log.error(e.getMessage(), e);  
  681.             broken = true;  
  682.         } finally {  
  683.             redisDataSource.returnResource(shardedJedis, broken);  
  684.         }  
  685.         return result;  
  686.     }  
  687.     public Long zadd(String key, double score, String member) {  
  688.         Long result = null;  
  689.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  690.         if (shardedJedis == null) {  
  691.             return result;  
  692.         }  
  693.         boolean broken = false;  
  694.         try {  
  695.             result = shardedJedis.zadd(key, score, member);  
  696.         } catch (Exception e) {  
  697.             log.error(e.getMessage(), e);  
  698.             broken = true;  
  699.         } finally {  
  700.             redisDataSource.returnResource(shardedJedis, broken);  
  701.         }  
  702.         return result;  
  703.     }  
  704.     public Set<String> zrange(String key, int start, int end) {  
  705.         Set<String> result = null;  
  706.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  707.         if (shardedJedis == null) {  
  708.             return result;  
  709.         }  
  710.         boolean broken = false;  
  711.         try {  
  712.             result = shardedJedis.zrange(key, start, end);  
  713.         } catch (Exception e) {  
  714.             log.error(e.getMessage(), e);  
  715.             broken = true;  
  716.         } finally {  
  717.             redisDataSource.returnResource(shardedJedis, broken);  
  718.         }  
  719.         return result;  
  720.     }  
  721.     public Long zrem(String key, String member) {  
  722.         Long result = null;  
  723.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  724.         if (shardedJedis == null) {  
  725.             return result;  
  726.         }  
  727.         boolean broken = false;  
  728.         try {  
  729.             result = shardedJedis.zrem(key, member);  
  730.         } catch (Exception e) {  
  731.             log.error(e.getMessage(), e);  
  732.             broken = true;  
  733.         } finally {  
  734.             redisDataSource.returnResource(shardedJedis, broken);  
  735.         }  
  736.         return result;  
  737.     }  
  738.     public Double zincrby(String key, double score, String member) {  
  739.         Double result = null;  
  740.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  741.         if (shardedJedis == null) {  
  742.             return result;  
  743.         }  
  744.         boolean broken = false;  
  745.         try {  
  746.             result = shardedJedis.zincrby(key, score, member);  
  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.     public Long zrank(String key, String member) {  
  756.         Long result = null;  
  757.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  758.         if (shardedJedis == null) {  
  759.             return result;  
  760.         }  
  761.         boolean broken = false;  
  762.         try {  
  763.             result = shardedJedis.zrank(key, member);  
  764.         } catch (Exception e) {  
  765.             log.error(e.getMessage(), e);  
  766.             broken = true;  
  767.         } finally {  
  768.             redisDataSource.returnResource(shardedJedis, broken);  
  769.         }  
  770.         return result;  
  771.     }  
  772.         public Long zcard(String key) {  
  773.         Long result = null;  
  774.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  775.         if (shardedJedis == null) {  
  776.             return result;  
  777.         }  
  778.         boolean broken = false;  
  779.         try {  
  780.             result = shardedJedis.zcard(key);  
  781.         } catch (Exception e) {  
  782.             log.error(e.getMessage(), e);  
  783.             broken = true;  
  784.         } finally {  
  785.             redisDataSource.returnResource(shardedJedis, broken);  
  786.         }  
  787.         return result;  
  788.     }  
  789.     public Double zscore(String key, String member) {  
  790.         Double result = null;  
  791.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  792.         if (shardedJedis == null) {  
  793.             return result;  
  794.         }  
  795.         boolean broken = false;  
  796.         try {  
  797.             result = shardedJedis.zscore(key, member);  
  798.         } catch (Exception e) {  
  799.             log.error(e.getMessage(), e);  
  800.             broken = true;  
  801.         } finally {  
  802.             redisDataSource.returnResource(shardedJedis, broken);  
  803.         }  
  804.         return result;  
  805.     }  
  806.     public Long zcount(String key, double min, double max) {  
  807.         Long result = null;  
  808.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  809.         if (shardedJedis == null) {  
  810.             return result;  
  811.         }  
  812.         boolean broken = false;  
  813.         try {  
  814.             result = shardedJedis.zcount(key, min, max);  
  815.         } catch (Exception e) {  
  816.             log.error(e.getMessage(), e);  
  817.             broken = true;  
  818.         } finally {  
  819.             redisDataSource.returnResource(shardedJedis, broken);  
  820.         }  
  821.         return result;  
  822.     }  
  823.     public String set(byte[] key, byte[] value) {  
  824.         String result = null;  
  825.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  826.         if (shardedJedis == null) {  
  827.             return result;  
  828.         }  
  829.         boolean broken = false;  
  830.         try {  
  831.             result = shardedJedis.set(key, value);  
  832.         } catch (Exception e) {  
  833.             log.error(e.getMessage(), e);  
  834.             broken = true;  
  835.         } finally {  
  836.             redisDataSource.returnResource(shardedJedis, broken);  
  837.         }  
  838.         return result;  
  839.     }  
  840.     public byte[] get(byte[] key) {  
  841.         byte[] result = null;  
  842.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  843.         if (shardedJedis == null) {  
  844.             return result;  
  845.         }  
  846.         boolean broken = false;  
  847.         try {  
  848.             result = shardedJedis.get(key);  
  849.         } catch (Exception e) {  
  850.             log.error(e.getMessage(), e);  
  851.             broken = true;  
  852.         } finally {  
  853.             redisDataSource.returnResource(shardedJedis, broken);  
  854.         }  
  855.         return result;  
  856.     }  
  857.     public Boolean exists(byte[] key) {  
  858.         Boolean result = false;  
  859.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  860.         if (shardedJedis == null) {  
  861.             return result;  
  862.         }  
  863.         boolean broken = false;  
  864.         try {  
  865.             result = shardedJedis.exists(key);  
  866.         } catch (Exception e) {  
  867.             log.error(e.getMessage(), e);  
  868.             broken = true;  
  869.         } finally {  
  870.             redisDataSource.returnResource(shardedJedis, broken);  
  871.         }  
  872.         return result;  
  873.     }  
  874.     public Long expire(byte[] key, int seconds) {  
  875.         Long result = null;  
  876.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  877.         if (shardedJedis == null) {  
  878.             return result;  
  879.         }  
  880.         boolean broken = false;  
  881.         try {  
  882.             result = shardedJedis.expire(key, seconds);  
  883.         } catch (Exception e) {  
  884.             log.error(e.getMessage(), e);  
  885.             broken = true;  
  886.         } finally {  
  887.             redisDataSource.returnResource(shardedJedis, broken);  
  888.         }  
  889.         return result;  
  890.     }  
  891.     public Long expireAt(byte[] key, long unixTime) {  
  892.         Long result = null;  
  893.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  894.         if (shardedJedis == null) {  
  895.             return result;  
  896.         }  
  897.         boolean broken = false;  
  898.         try {  
  899.             result = shardedJedis.expireAt(key, unixTime);  
  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.     public Long ttl(byte[] key) {  
  909.         Long result = null;  
  910.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  911.         if (shardedJedis == null) {  
  912.             return result;  
  913.         }  
  914.         boolean broken = false;  
  915.         try {  
  916.             result = shardedJedis.ttl(key);  
  917.         } catch (Exception e) {  
  918.             log.error(e.getMessage(), e);  
  919.             broken = true;  
  920.         } finally {  
  921.             redisDataSource.returnResource(shardedJedis, broken);  
  922.         }  
  923.         return result;  
  924.     }  
  925.     public Long append(byte[] key, byte[] value) {  
  926.         Long result = null;  
  927.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  928.         if (shardedJedis == null) {  
  929.             return result;  
  930.         }  
  931.         boolean broken = false;  
  932.         try {  
  933.             result = shardedJedis.append(key, value);  
  934.         } catch (Exception e) {  
  935.             log.error(e.getMessage(), e);  
  936.             broken = true;  
  937.         } finally {  
  938.             redisDataSource.returnResource(shardedJedis, broken);  
  939.         }  
  940.         return result;  
  941.     }  
  942.     public Long hset(byte[] key, byte[] field, byte[] value) {  
  943.         Long result = null;  
  944.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  945.         if (shardedJedis == null) {  
  946.             return result;  
  947.         }  
  948.         boolean broken = false;  
  949.         try {  
  950.             result = shardedJedis.hset(key, field, value);  
  951.         } catch (Exception e) {  
  952.             log.error(e.getMessage(), e);  
  953.             broken = true;  
  954.         } finally {  
  955.             redisDataSource.returnResource(shardedJedis, broken);  
  956.         }  
  957.         return result;  
  958.     }  
  959.     public byte[] hget(byte[] key, byte[] field) {  
  960.         byte[] result = null;  
  961.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  962.         if (shardedJedis == null) {  
  963.             return result;  
  964.         }  
  965.         boolean broken = false;  
  966.         try {  
  967.             result = shardedJedis.hget(key, field);  
  968.         } catch (Exception e) {  
  969.             log.error(e.getMessage(), e);  
  970.             broken = true;  
  971.         } finally {  
  972.             redisDataSource.returnResource(shardedJedis, broken);  
  973.         }  
  974.         return result;  
  975.     }  
  976.     public String hmset(byte[] key, Map<byte[], byte[]> hash) {  
  977.         String result = null;  
  978.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  979.         if (shardedJedis == null) {  
  980.             return result;  
  981.         }  
  982.         boolean broken = false;  
  983.         try {  
  984.             result = shardedJedis.hmset(key, hash);  
  985.         } catch (Exception e) {  
  986.             log.error(e.getMessage(), e);  
  987.             broken = true;  
  988.         } finally {  
  989.             redisDataSource.returnResource(shardedJedis, broken);  
  990.         }  
  991.         return result;  
  992.     }  
  993.     public List<byte[]> hmget(byte[] key, byte[]... fields) {  
  994.         List<byte[]> result = null;  
  995.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  996.         if (shardedJedis == null) {  
  997.             return result;  
  998.         }  
  999.         boolean broken = false;  
  1000.         try {  
  1001.             result = shardedJedis.hmget(key, fields);  
  1002.         } catch (Exception e) {  
  1003.             log.error(e.getMessage(), e);  
  1004.             broken = true;  
  1005.         } finally {  
  1006.             redisDataSource.returnResource(shardedJedis, broken);  
  1007.         }  
  1008.         return result;  
  1009.     }  
  1010.     public Boolean hexists(byte[] key, byte[] field) {  
  1011.         Boolean result = false;  
  1012.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1013.         if (shardedJedis == null) {  
  1014.             return result;  
  1015.         }  
  1016.         boolean broken = false;  
  1017.         try {  
  1018.             result = shardedJedis.hexists(key, field);  
  1019.         } catch (Exception e) {  
  1020.             log.error(e.getMessage(), e);  
  1021.             broken = true;  
  1022.         } finally {  
  1023.             redisDataSource.returnResource(shardedJedis, broken);  
  1024.         }  
  1025.         return result;  
  1026.     }  
  1027.     public Long hdel(byte[] key, byte[] field) {  
  1028.         Long result = null;  
  1029.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1030.         if (shardedJedis == null) {  
  1031.             return result;  
  1032.         }  
  1033.         boolean broken = false;  
  1034.         try {  
  1035.             result = shardedJedis.hdel(key, field);  
  1036.         } catch (Exception e) {  
  1037.             log.error(e.getMessage(), e);  
  1038.             broken = true;  
  1039.         } finally {  
  1040.             redisDataSource.returnResource(shardedJedis, broken);  
  1041.         }  
  1042.         return result;  
  1043.     }  
  1044.     public Long rpush(byte[] key, byte[] string) {  
  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.rpush(key, string);  
  1053.         } catch (Exception e) {  
  1054.             log.error(e.getMessage(), e);  
  1055.             broken = true;  
  1056.         } finally {  
  1057.             redisDataSource.returnResource(shardedJedis, broken);  
  1058.         }  
  1059.         return result;  
  1060.     }  
  1061.     public Long lpush(byte[] key, byte[] string) {  
  1062.         Long result = null;  
  1063.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1064.         if (shardedJedis == null) {  
  1065.             return result;  
  1066.         }  
  1067.         boolean broken = false;  
  1068.         try {  
  1069.             result = shardedJedis.lpush(key, string);  
  1070.         } catch (Exception e) {  
  1071.             log.error(e.getMessage(), e);  
  1072.             broken = true;  
  1073.         } finally {  
  1074.             redisDataSource.returnResource(shardedJedis, broken);  
  1075.         }  
  1076.         return result;  
  1077.     }  
  1078.     public Long llen(byte[] key) {  
  1079.         Long result = null;  
  1080.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1081.         if (shardedJedis == null) {  
  1082.             return result;  
  1083.         }  
  1084.         boolean broken = false;  
  1085.         try {  
  1086.             result = shardedJedis.llen(key);  
  1087.         } catch (Exception e) {  
  1088.             log.error(e.getMessage(), e);  
  1089.             broken = true;  
  1090.         } finally {  
  1091.             redisDataSource.returnResource(shardedJedis, broken);  
  1092.         }  
  1093.         return result;  
  1094.     }  
  1095.     public List<byte[]> lrange(byte[] key, int start, int end) {  
  1096.         List<byte[]> result = null;  
  1097.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1098.         if (shardedJedis == null) {  
  1099.             return result;  
  1100.         }  
  1101.         boolean broken = false;  
  1102.         try {  
  1103.             result = shardedJedis.lrange(key, start, end);  
  1104.         } catch (Exception e) {  
  1105.             log.error(e.getMessage(), e);  
  1106.             broken = true;  
  1107.         } finally {  
  1108.             redisDataSource.returnResource(shardedJedis, broken);  
  1109.         }  
  1110.         return result;  
  1111.     }  
  1112.     public String lset(byte[] key, int index, byte[] value) {  
  1113.         String result = null;  
  1114.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1115.         if (shardedJedis == null) {  
  1116.             return result;  
  1117.         }  
  1118.         boolean broken = false;  
  1119.         try {  
  1120.             result = shardedJedis.lset(key, index, value);  
  1121.         } catch (Exception e) {  
  1122.             log.error(e.getMessage(), e);  
  1123.             broken = true;  
  1124.         } finally {  
  1125.             redisDataSource.returnResource(shardedJedis, broken);  
  1126.         }  
  1127.         return result;  
  1128.     }  
  1129.     public Long lrem(byte[] key, int count, byte[] value) {  
  1130.         Long result = null;  
  1131.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1132.         if (shardedJedis == null) {  
  1133.             return result;  
  1134.         }  
  1135.         boolean broken = false;  
  1136.         try {  
  1137.             result = shardedJedis.lrem(key, count, value);  
  1138.         } catch (Exception e) {  
  1139.             log.error(e.getMessage(), e);  
  1140.             broken = true;  
  1141.         } finally {  
  1142.             redisDataSource.returnResource(shardedJedis, broken);  
  1143.         }  
  1144.         return result;  
  1145.     }  
  1146.     public byte[] lpop(byte[] key) {  
  1147.         byte[] result = null;  
  1148.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1149.         if (shardedJedis == null) {  
  1150.             return result;  
  1151.         }  
  1152.         boolean broken = false;  
  1153.         try {  
  1154.             result = shardedJedis.lpop(key);  
  1155.         } catch (Exception e) {  
  1156.             log.error(e.getMessage(), e);  
  1157.             broken = true;  
  1158.         } finally {  
  1159.             redisDataSource.returnResource(shardedJedis, broken);  
  1160.         }  
  1161.         return result;  
  1162.     }  
  1163.     public byte[] rpop(byte[] key) {  
  1164.         byte[] result = null;  
  1165.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1166.         if (shardedJedis == null) {  
  1167.             return result;  
  1168.         }  
  1169.         boolean broken = false;  
  1170.         try {  
  1171.             result = shardedJedis.rpop(key);  
  1172.         } catch (Exception e) {  
  1173.             log.error(e.getMessage(), e);  
  1174.             broken = true;  
  1175.         } finally {  
  1176.             redisDataSource.returnResource(shardedJedis, broken);  
  1177.         }  
  1178.         return result;  
  1179.     }  
  1180.     public Long sadd(byte[] key, byte[] member) {  
  1181.         Long result = null;  
  1182.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1183.         if (shardedJedis == null) {  
  1184.             return result;  
  1185.         }  
  1186.         boolean broken = false;  
  1187.         try {  
  1188.             result = shardedJedis.sadd(key, member);  
  1189.         } catch (Exception e) {  
  1190.             log.error(e.getMessage(), e);  
  1191.             broken = true;  
  1192.         } finally {  
  1193.             redisDataSource.returnResource(shardedJedis, broken);  
  1194.         }  
  1195.         return result;  
  1196.     }  
  1197.     public Set<byte[]> smembers(byte[] key) {  
  1198.         Set<byte[]> result = null;  
  1199.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1200.         if (shardedJedis == null) {  
  1201.             return result;  
  1202.         }  
  1203.         boolean broken = false;  
  1204.         try {  
  1205.             result = shardedJedis.smembers(key);  
  1206.         } catch (Exception e) {  
  1207.             log.error(e.getMessage(), e);  
  1208.             broken = true;  
  1209.         } finally {  
  1210.             redisDataSource.returnResource(shardedJedis, broken);  
  1211.         }  
  1212.         return result;  
  1213.     }  
  1214.     public Long scard(byte[] key) {  
  1215.         Long result = null;  
  1216.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1217.         if (shardedJedis == null) {  
  1218.             return result;  
  1219.         }  
  1220.         boolean broken = false;  
  1221.         try {  
  1222.             result = shardedJedis.scard(key);  
  1223.         } catch (Exception e) {  
  1224.             log.error(e.getMessage(), e);  
  1225.             broken = true;  
  1226.         } finally {  
  1227.             redisDataSource.returnResource(shardedJedis, broken);  
  1228.         }  
  1229.         return result;  
  1230.     }  
  1231.     public Long zadd(byte[] key, double score, byte[] member) {  
  1232.         Long result = null;  
  1233.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1234.         if (shardedJedis == null) {  
  1235.             return result;  
  1236.         }  
  1237.         boolean broken = false;  
  1238.         try {  
  1239.             result = shardedJedis.zadd(key, score, member);  
  1240.         } catch (Exception e) {  
  1241.             log.error(e.getMessage(), e);  
  1242.             broken = true;  
  1243.         } finally {  
  1244.             redisDataSource.returnResource(shardedJedis, broken);  
  1245.         }  
  1246.         return result;  
  1247.     }  
  1248.     public Long zcard(byte[] key) {  
  1249.         Long result = null;  
  1250.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1251.         if (shardedJedis == null) {  
  1252.             return result;  
  1253.         }  
  1254.         boolean broken = false;  
  1255.         try {  
  1256.             result = shardedJedis.zcard(key);  
  1257.         } catch (Exception e) {  
  1258.             log.error(e.getMessage(), e);  
  1259.             broken = true;  
  1260.         } finally {  
  1261.             redisDataSource.returnResource(shardedJedis, broken);  
  1262.         }  
  1263.         return result;  
  1264.     }  
  1265.     public JedisShardInfo getShardInfo(String key) {  
  1266.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1267.         JedisShardInfo result = null;  
  1268.         if (shardedJedis == null) {  
  1269.             return result;  
  1270.         }  
  1271.         boolean broken = false;  
  1272.         try {  
  1273.             result = shardedJedis.getShardInfo(key);  
  1274.         } catch (Exception e) {  
  1275.             log.error(e.getMessage(), e);  
  1276.             broken = true;  
  1277.         } finally {  
  1278.             redisDataSource.returnResource(shardedJedis, broken);  
  1279.         }  
  1280.         return result;  
  1281.     }  
  1282.     public Collection<JedisShardInfo> getAllShardInfo() {  
  1283.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1284.         Collection<JedisShardInfo> result = null;  
  1285.         if (shardedJedis == null) {  
  1286.             return result;  
  1287.         }  
  1288.         boolean broken = false;  
  1289.         try {  
  1290.             result = shardedJedis.getAllShardInfo();  
  1291.         } catch (Exception e) {  
  1292.             log.error(e.getMessage(), e);  
  1293.             broken = true;  
  1294.         } finally {  
  1295.             redisDataSource.returnResource(shardedJedis, broken);  
  1296.         }  
  1297.         return result;  
  1298.     }  
  1299.     public Collection<Jedis> getAllShards() {  
  1300.         ShardedJedis shardedJedis = redisDataSource.getRedisClient();  
  1301.         Collection<Jedis> result = null;  
  1302.         if (shardedJedis == null) {  
  1303.             return result;  
  1304.         }  
  1305.         boolean broken = false;  
  1306.         try {  
  1307.             result = shardedJedis.getAllShards();  
  1308.         } catch (Exception e) {  
  1309.             log.error(e.getMessage(), e);  
  1310.             broken = true;  
  1311.         } finally {  
  1312.             redisDataSource.returnResource(shardedJedis, broken);  
  1313.         }  
  1314.         return result;  
  1315.     }  
  1316. }  
  1. package com.redis;

  2. import org.slf4j.LoggerFactory;

  3. import org.springframework.beans.factory.annotation.Autowired;

  4. import redis.clients.jedis.Jedis;

  5. import redis.clients.jedis.JedisShardInfo;

  6. import redis.clients.jedis.ShardedJedis;

  7. public class RedisClientTemplate {

  8. private static final org.slf4j.Logger log=LoggerFactory.getLogger(RedisClientTemplate.class);

  9. @Autowired

  10. private RedisDataSource redisDataSource;

  11. public RedisDataSource getRedisDataSource() {

  12. return redisDataSource;

  13. }

  14. public void setRedisDataSource(RedisDataSource redisDataSource) {

  15. this.redisDataSource = redisDataSource;

  16. }

  17. public void disconnect(){

  18. ShardedJedis shardedJedis=redisDataSource.getRedisClient();

  19. shardedJedis.disconnect();

  20. }

  21. public String set(String key, String value){

  22. String result=null;

  23. ShardedJedis shardedJedis=redisDataSource.getRedisClient();

  24. if(shardedJedis==null){

  25. return result;

  26. }

  27. boolean broken=false;

  28. try {

  29. result=shardedJedis.set(key, value);

  30. } catch (Exception e) {

  31. broken=true;

  32. e.printStackTrace();

  33. }finally{

  34. redisDataSource.returnResource(shardedJedis, broken);

  35. }

  36. return result;

  37. }

  38. public String get(String key) {

  39. String result = null;

  40. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  41. if (shardedJedis == null) {

  42. return result;

  43. }

  44. boolean broken = false;

  45. try {

  46. result = shardedJedis.get(key);

  47. } catch (Exception e) {

  48. log.error(e.getMessage(), e);

  49. broken = true;

  50. } finally {

  51. redisDataSource.returnResource(shardedJedis, broken);

  52. }

  53. return result;

  54. }

  55. public Boolean exists(String key) {

  56. Boolean result = false;

  57. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  58. if (shardedJedis == null) {

  59. return result;

  60. }

  61. boolean broken = false;

  62. try {

  63. result = shardedJedis.exists(key);

  64. } catch (Exception e) {

  65. log.error(e.getMessage(), e);

  66. broken = true;

  67. } finally {

  68. redisDataSource.returnResource(shardedJedis, broken);

  69. }

  70. return result;

  71. }

  72. public String type(String key) {

  73. String result = null;

  74. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  75. if (shardedJedis == null) {

  76. return result;

  77. }

  78. boolean broken = false;

  79. try {

  80. result = shardedJedis.type(key);

  81. } catch (Exception e) {

  82. log.error(e.getMessage(), e);

  83. broken = true;

  84. } finally {

  85. redisDataSource.returnResource(shardedJedis, broken);

  86. }

  87. return result;

  88. }

  89. public Long expire(String key, int seconds) {

  90. Long result = null;

  91. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  92. if (shardedJedis == null) {

  93. return result;

  94. }

  95. boolean broken = false;

  96. try {

  97. result = shardedJedis.expire(key, seconds);

  98. } catch (Exception e) {

  99. log.error(e.getMessage(), e);

  100. broken = true;

  101. } finally {

  102. redisDataSource.returnResource(shardedJedis, broken);

  103. }

  104. return result;

  105. }

  106. public Long expireAt(String key, long unixTime) {

  107. Long result = null;

  108. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  109. if (shardedJedis == null) {

  110. return result;

  111. }

  112. boolean broken = false;

  113. try {

  114. result = shardedJedis.expireAt(key, unixTime);

  115. } catch (Exception e) {

  116. log.error(e.getMessage(), e);

  117. broken = true;

  118. } finally {

  119. redisDataSource.returnResource(shardedJedis, broken);

  120. }

  121. return result;

  122. }

  123. public Long ttl(String key) {

  124. Long result = null;

  125. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  126. if (shardedJedis == null) {

  127. return result;

  128. }

  129. boolean broken = false;

  130. try {

  131. result = shardedJedis.ttl(key);

  132. } catch (Exception e) {

  133. log.error(e.getMessage(), e);

  134. broken = true;

  135. } finally {

  136. redisDataSource.returnResource(shardedJedis, broken);

  137. }

  138. return result;

  139. }

  140. public Long setnx(String key, String value) {

  141. Long result = null;

  142. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  143. if (shardedJedis == null) {

  144. return result;

  145. }

  146. boolean broken = false;

  147. try {

  148. result = shardedJedis.setnx(key, value);

  149. } catch (Exception e) {

  150. log.error(e.getMessage(), e);

  151. broken = true;

  152. } finally {

  153. redisDataSource.returnResource(shardedJedis, broken);

  154. }

  155. return result;

  156. }

  157. public String setex(String key, int seconds, String value) {

  158. String result = null;

  159. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  160. if (shardedJedis == null) {

  161. return result;

  162. }

  163. boolean broken = false;

  164. try {

  165. result = shardedJedis.setex(key, seconds, value);

  166. } catch (Exception e) {

  167. log.error(e.getMessage(), e);

  168. broken = true;

  169. } finally {

  170. redisDataSource.returnResource(shardedJedis, broken);

  171. }

  172. return result;

  173. }

  174. public Long decrBy(String key, long integer) {

  175. Long result = null;

  176. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  177. if (shardedJedis == null) {

  178. return result;

  179. }

  180. boolean broken = false;

  181. try {

  182. result = shardedJedis.decrBy(key, integer);

  183. } catch (Exception e) {

  184. log.error(e.getMessage(), e);

  185. broken = true;

  186. } finally {

  187. redisDataSource.returnResource(shardedJedis, broken);

  188. }

  189. return result;

  190. }

  191. public Long decr(String key) {

  192. Long result = null;

  193. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  194. if (shardedJedis == null) {

  195. return result;

  196. }

  197. boolean broken = false;

  198. try {

  199. result = shardedJedis.decr(key);

  200. } catch (Exception e) {

  201. log.error(e.getMessage(), e);

  202. broken = true;

  203. } finally {

  204. redisDataSource.returnResource(shardedJedis, broken);

  205. }

  206. return result;

  207. }

  208. public Long incrBy(String key, long integer) {

  209. Long result = null;

  210. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  211. if (shardedJedis == null) {

  212. return result;

  213. }

  214. boolean broken = false;

  215. try {

  216. result = shardedJedis.incrBy(key, integer);

  217. } catch (Exception e) {

  218. log.error(e.getMessage(), e);

  219. broken = true;

  220. } finally {

  221. redisDataSource.returnResource(shardedJedis, broken);

  222. }

  223. return result;

  224. }

  225. public Long incr(String key) {

  226. Long result = null;

  227. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  228. if (shardedJedis == null) {

  229. return result;

  230. }

  231. boolean broken = false;

  232. try {

  233. result = shardedJedis.incr(key);

  234. } catch (Exception e) {

  235. log.error(e.getMessage(), e);

  236. broken = true;

  237. } finally {

  238. redisDataSource.returnResource(shardedJedis, broken);

  239. }

  240. return result;

  241. }

  242. public Long append(String key, String value) {

  243. Long result = null;

  244. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  245. if (shardedJedis == null) {

  246. return result;

  247. }

  248. boolean broken = false;

  249. try {

  250. result = shardedJedis.append(key, value);

  251. } catch (Exception e) {

  252. log.error(e.getMessage(), e);

  253. broken = true;

  254. } finally {

  255. redisDataSource.returnResource(shardedJedis, broken);

  256. }

  257. return result;

  258. }

  259. public String substr(String key, int start, int end) {

  260. String result = null;

  261. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  262. if (shardedJedis == null) {

  263. return result;

  264. }

  265. boolean broken = false;

  266. try {

  267. result = shardedJedis.substr(key, start, end);

  268. } catch (Exception e) {

  269. log.error(e.getMessage(), e);

  270. broken = true;

  271. } finally {

  272. redisDataSource.returnResource(shardedJedis, broken);

  273. }

  274. return result;

  275. }

  276. public Long hset(String key, String field, String value) {

  277. Long result = null;

  278. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  279. if (shardedJedis == null) {

  280. return result;

  281. }

  282. boolean broken = false;

  283. try {

  284. result = shardedJedis.hset(key, field, value);

  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. public String hget(String key, String field) {

  294. String result = null;

  295. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  296. if (shardedJedis == null) {

  297. return result;

  298. }

  299. boolean broken = false;

  300. try {

  301. result = shardedJedis.hget(key, field);

  302. } catch (Exception e) {

  303. log.error(e.getMessage(), e);

  304. broken = true;

  305. } finally {

  306. redisDataSource.returnResource(shardedJedis, broken);

  307. }

  308. return result;

  309. }

  310. public String hmset(String key, Map<String, String> hash) {

  311. String result = null;

  312. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  313. if (shardedJedis == null) {

  314. return result;

  315. }

  316. boolean broken = false;

  317. try {

  318. result = shardedJedis.hmset(key, hash);

  319. } catch (Exception e) {

  320. log.error(e.getMessage(), e);

  321. broken = true;

  322. } finally {

  323. redisDataSource.returnResource(shardedJedis, broken);

  324. }

  325. return result;

  326. }

  327. public List<String> hmget(String key, String... fields) {

  328. List<String> result = null;

  329. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  330. if (shardedJedis == null) {

  331. return result;

  332. }

  333. boolean broken = false;

  334. try {

  335. result = shardedJedis.hmget(key, fields);

  336. } catch (Exception e) {

  337. log.error(e.getMessage(), e);

  338. broken = true;

  339. } finally {

  340. redisDataSource.returnResource(shardedJedis, broken);

  341. }

  342. return result;

  343. }

  344. public Long hincrBy(String key, String field, long value) {

  345. Long result = null;

  346. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  347. if (shardedJedis == null) {

  348. return result;

  349. }

  350. boolean broken = false;

  351. try {

  352. result = shardedJedis.hincrBy(key, field, value);

  353. } catch (Exception e) {

  354. log.error(e.getMessage(), e);

  355. broken = true;

  356. } finally {

  357. redisDataSource.returnResource(shardedJedis, broken);

  358. }

  359. return result;

  360. }

  361. public Boolean hexists(String key, String field) {

  362. Boolean result = false;

  363. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  364. if (shardedJedis == null) {

  365. return result;

  366. }

  367. boolean broken = false;

  368. try {

  369. result = shardedJedis.hexists(key, field);

  370. } catch (Exception e) {

  371. log.error(e.getMessage(), e);

  372. broken = true;

  373. } finally {

  374. redisDataSource.returnResource(shardedJedis, broken);

  375. }

  376. return result;

  377. }

  378. public Long del(String key) {

  379. Long result = null;

  380. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  381. if (shardedJedis == null) {

  382. return result;

  383. }

  384. boolean broken = false;

  385. try {

  386. result = shardedJedis.del(key);

  387. } catch (Exception e) {

  388. log.error(e.getMessage(), e);

  389. broken = true;

  390. } finally {

  391. redisDataSource.returnResource(shardedJedis, broken);

  392. }

  393. return result;

  394. }

  395. public Long hdel(String key, String field) {

  396. Long result = null;

  397. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  398. if (shardedJedis == null) {

  399. return result;

  400. }

  401. boolean broken = false;

  402. try {

  403. result = shardedJedis.hdel(key, field);

  404. } catch (Exception e) {

  405. log.error(e.getMessage(), e);

  406. broken = true;

  407. } finally {

  408. redisDataSource.returnResource(shardedJedis, broken);

  409. }

  410. return result;

  411. }

  412. public Long hlen(String key) {

  413. Long result = null;

  414. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  415. if (shardedJedis == null) {

  416. return result;

  417. }

  418. boolean broken = false;

  419. try {

  420. result = shardedJedis.hlen(key);

  421. } catch (Exception e) {

  422. log.error(e.getMessage(), e);

  423. broken = true;

  424. } finally {

  425. redisDataSource.returnResource(shardedJedis, broken);

  426. }

  427. return result;

  428. }

  429. public Set<String> hkeys(String key) {

  430. Set<String> result = null;

  431. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  432. if (shardedJedis == null) {

  433. return result;

  434. }

  435. boolean broken = false;

  436. try {

  437. result = shardedJedis.hkeys(key);

  438. } catch (Exception e) {

  439. log.error(e.getMessage(), e);

  440. broken = true;

  441. } finally {

  442. redisDataSource.returnResource(shardedJedis, broken);

  443. }

  444. return result;

  445. }

  446. public List<String> hvals(String key) {

  447. List<String> result = null;

  448. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  449. if (shardedJedis == null) {

  450. return result;

  451. }

  452. boolean broken = false;

  453. try {

  454. result = shardedJedis.hvals(key);

  455. } catch (Exception e) {

  456. log.error(e.getMessage(), e);

  457. broken = true;

  458. } finally {

  459. redisDataSource.returnResource(shardedJedis, broken);

  460. }

  461. return result;

  462. }

  463. public Map<String, String> hgetAll(String key) {

  464. Map<String, String> result = null;

  465. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  466. if (shardedJedis == null) {

  467. return result;

  468. }

  469. boolean broken = false;

  470. try {

  471. result = shardedJedis.hgetAll(key);

  472. } catch (Exception e) {

  473. log.error(e.getMessage(), e);

  474. broken = true;

  475. } finally {

  476. redisDataSource.returnResource(shardedJedis, broken);

  477. }

  478. return result;

  479. }

  480. // ================list ====== l表示 list或 left, r表示right====================

  481. public Long rpush(String key, String string) {

  482. Long result = null;

  483. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  484. if (shardedJedis == null) {

  485. return result;

  486. }

  487. boolean broken = false;

  488. try {

  489. result = shardedJedis.rpush(key, string);

  490. } catch (Exception e) {

  491. log.error(e.getMessage(), e);

  492. broken = true;

  493. } finally {

  494. redisDataSource.returnResource(shardedJedis, broken);

  495. }

  496. return result;

  497. }

  498. public Long lpush(String key, String string) {

  499. Long result = null;

  500. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  501. if (shardedJedis == null) {

  502. return result;

  503. }

  504. boolean broken = false;

  505. try {

  506. result = shardedJedis.lpush(key, string);

  507. } catch (Exception e) {

  508. log.error(e.getMessage(), e);

  509. broken = true;

  510. } finally {

  511. redisDataSource.returnResource(shardedJedis, broken);

  512. }

  513. return result;

  514. }

  515. public Long llen(String key) {

  516. Long result = null;

  517. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  518. if (shardedJedis == null) {

  519. return result;

  520. }

  521. boolean broken = false;

  522. try {

  523. result = shardedJedis.llen(key);

  524. } catch (Exception e) {

  525. log.error(e.getMessage(), e);

  526. broken = true;

  527. } finally {

  528. redisDataSource.returnResource(shardedJedis, broken);

  529. }

  530. return result;

  531. }

  532. public List<String> lrange(String key, long start, long end) {

  533. List<String> result = null;

  534. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  535. if (shardedJedis == null) {

  536. return result;

  537. }

  538. boolean broken = false;

  539. try {

  540. result = shardedJedis.lrange(key, start, end);

  541. } catch (Exception e) {

  542. log.error(e.getMessage(), e);

  543. broken = true;

  544. } finally {

  545. redisDataSource.returnResource(shardedJedis, broken);

  546. }

  547. return result;

  548. }

  549. public String ltrim(String key, long start, long end) {

  550. String result = null;

  551. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  552. if (shardedJedis == null) {

  553. return result;

  554. }

  555. boolean broken = false;

  556. try {

  557. result = shardedJedis.ltrim(key, start, end);

  558. } catch (Exception e) {

  559. log.error(e.getMessage(), e);

  560. broken = true;

  561. } finally {

  562. redisDataSource.returnResource(shardedJedis, broken);

  563. }

  564. return result;

  565. }

  566. public String lindex(String key, long index) {

  567. String result = null;

  568. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  569. if (shardedJedis == null) {

  570. return result;

  571. }

  572. boolean broken = false;

  573. try {

  574. result = shardedJedis.lindex(key, index);

  575. } catch (Exception e) {

  576. log.error(e.getMessage(), e);

  577. broken = true;

  578. } finally {

  579. redisDataSource.returnResource(shardedJedis, broken);

  580. }

  581. return result;

  582. }

  583. public String lset(String key, long index, String value) {

  584. String result = null;

  585. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  586. if (shardedJedis == null) {

  587. return result;

  588. }

  589. boolean broken = false;

  590. try {

  591. result = shardedJedis.lset(key, index, value);

  592. } catch (Exception e) {

  593. log.error(e.getMessage(), e);

  594. broken = true;

  595. } finally {

  596. redisDataSource.returnResource(shardedJedis, broken);

  597. }

  598. return result;

  599. }

  600. public String lpop(String key) {

  601. String result = null;

  602. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  603. if (shardedJedis == null) {

  604. return result;

  605. }

  606. boolean broken = false;

  607. try {

  608. result = shardedJedis.lpop(key);

  609. } catch (Exception e) {

  610. log.error(e.getMessage(), e);

  611. broken = true;

  612. } finally {

  613. redisDataSource.returnResource(shardedJedis, broken);

  614. }

  615. return result;

  616. }

  617. public String rpop(String key) {

  618. String result = null;

  619. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  620. if (shardedJedis == null) {

  621. return result;

  622. }

  623. boolean broken = false;

  624. try {

  625. result = shardedJedis.rpop(key);

  626. } catch (Exception e) {

  627. log.error(e.getMessage(), e);

  628. broken = true;

  629. } finally {

  630. redisDataSource.returnResource(shardedJedis, broken);

  631. }

  632. return result;

  633. }

  634. //return 1 add a not exist value ,

  635. //return 0 add a exist value

  636. public Long sadd(String key, String member) {

  637. Long result = null;

  638. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  639. if (shardedJedis == null) {

  640. return result;

  641. }

  642. boolean broken = false;

  643. try {

  644. result = shardedJedis.sadd(key, member);

  645. } catch (Exception e) {

  646. log.error(e.getMessage(), e);

  647. broken = true;

  648. } finally {

  649. redisDataSource.returnResource(shardedJedis, broken);

  650. }

  651. return result;

  652. }

  653. public Set<String> smembers(String key) {

  654. Set<String> result = null;

  655. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  656. if (shardedJedis == null) {

  657. return result;

  658. }

  659. boolean broken = false;

  660. try {

  661. result = shardedJedis.smembers(key);

  662. } catch (Exception e) {

  663. log.error(e.getMessage(), e);

  664. broken = true;

  665. } finally {

  666. redisDataSource.returnResource(shardedJedis, broken);

  667. }

  668. return result;

  669. }

  670. public Long scard(String key) {

  671. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  672. Long result = null;

  673. if (shardedJedis == null) {

  674. return result;

  675. }

  676. boolean broken = false;

  677. try {

  678. result = shardedJedis.scard(key);

  679. } catch (Exception e) {

  680. log.error(e.getMessage(), e);

  681. broken = true;

  682. } finally {

  683. redisDataSource.returnResource(shardedJedis, broken);

  684. }

  685. return result;

  686. }

  687. public Long zadd(String key, double score, String member) {

  688. Long result = null;

  689. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  690. if (shardedJedis == null) {

  691. return result;

  692. }

  693. boolean broken = false;

  694. try {

  695. result = shardedJedis.zadd(key, score, member);

  696. } catch (Exception e) {

  697. log.error(e.getMessage(), e);

  698. broken = true;

  699. } finally {

  700. redisDataSource.returnResource(shardedJedis, broken);

  701. }

  702. return result;

  703. }

  704. public Set<String> zrange(String key, int start, int end) {

  705. Set<String> result = null;

  706. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  707. if (shardedJedis == null) {

  708. return result;

  709. }

  710. boolean broken = false;

  711. try {

  712. result = shardedJedis.zrange(key, start, end);

  713. } catch (Exception e) {

  714. log.error(e.getMessage(), e);

  715. broken = true;

  716. } finally {

  717. redisDataSource.returnResource(shardedJedis, broken);

  718. }

  719. return result;

  720. }

  721. public Long zrem(String key, String member) {

  722. Long result = null;

  723. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  724. if (shardedJedis == null) {

  725. return result;

  726. }

  727. boolean broken = false;

  728. try {

  729. result = shardedJedis.zrem(key, member);

  730. } catch (Exception e) {

  731. log.error(e.getMessage(), e);

  732. broken = true;

  733. } finally {

  734. redisDataSource.returnResource(shardedJedis, broken);

  735. }

  736. return result;

  737. }

  738. public Double zincrby(String key, double score, String member) {

  739. Double result = null;

  740. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  741. if (shardedJedis == null) {

  742. return result;

  743. }

  744. boolean broken = false;

  745. try {

  746. result = shardedJedis.zincrby(key, score, member);

  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. public Long zrank(String key, String member) {

  756. Long result = null;

  757. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  758. if (shardedJedis == null) {

  759. return result;

  760. }

  761. boolean broken = false;

  762. try {

  763. result = shardedJedis.zrank(key, member);

  764. } catch (Exception e) {

  765. log.error(e.getMessage(), e);

  766. broken = true;

  767. } finally {

  768. redisDataSource.returnResource(shardedJedis, broken);

  769. }

  770. return result;

  771. }

  772. public Long zcard(String key) {

  773. Long result = null;

  774. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  775. if (shardedJedis == null) {

  776. return result;

  777. }

  778. boolean broken = false;

  779. try {

  780. result = shardedJedis.zcard(key);

  781. } catch (Exception e) {

  782. log.error(e.getMessage(), e);

  783. broken = true;

  784. } finally {

  785. redisDataSource.returnResource(shardedJedis, broken);

  786. }

  787. return result;

  788. }

  789. public Double zscore(String key, String member) {

  790. Double result = null;

  791. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  792. if (shardedJedis == null) {

  793. return result;

  794. }

  795. boolean broken = false;

  796. try {

  797. result = shardedJedis.zscore(key, member);

  798. } catch (Exception e) {

  799. log.error(e.getMessage(), e);

  800. broken = true;

  801. } finally {

  802. redisDataSource.returnResource(shardedJedis, broken);

  803. }

  804. return result;

  805. }

  806. public Long zcount(String key, double min, double max) {

  807. Long result = null;

  808. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  809. if (shardedJedis == null) {

  810. return result;

  811. }

  812. boolean broken = false;

  813. try {

  814. result = shardedJedis.zcount(key, min, max);

  815. } catch (Exception e) {

  816. log.error(e.getMessage(), e);

  817. broken = true;

  818. } finally {

  819. redisDataSource.returnResource(shardedJedis, broken);

  820. }

  821. return result;

  822. }

  823. public String set(byte[] key, byte[] value) {

  824. String result = null;

  825. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  826. if (shardedJedis == null) {

  827. return result;

  828. }

  829. boolean broken = false;

  830. try {

  831. result = shardedJedis.set(key, value);

  832. } catch (Exception e) {

  833. log.error(e.getMessage(), e);

  834. broken = true;

  835. } finally {

  836. redisDataSource.returnResource(shardedJedis, broken);

  837. }

  838. return result;

  839. }

  840. public byte[] get(byte[] key) {

  841. byte[] result = null;

  842. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  843. if (shardedJedis == null) {

  844. return result;

  845. }

  846. boolean broken = false;

  847. try {

  848. result = shardedJedis.get(key);

  849. } catch (Exception e) {

  850. log.error(e.getMessage(), e);

  851. broken = true;

  852. } finally {

  853. redisDataSource.returnResource(shardedJedis, broken);

  854. }

  855. return result;

  856. }

  857. public Boolean exists(byte[] key) {

  858. Boolean result = false;

  859. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  860. if (shardedJedis == null) {

  861. return result;

  862. }

  863. boolean broken = false;

  864. try {

  865. result = shardedJedis.exists(key);

  866. } catch (Exception e) {

  867. log.error(e.getMessage(), e);

  868. broken = true;

  869. } finally {

  870. redisDataSource.returnResource(shardedJedis, broken);

  871. }

  872. return result;

  873. }

  874. public Long expire(byte[] key, int seconds) {

  875. Long result = null;

  876. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  877. if (shardedJedis == null) {

  878. return result;

  879. }

  880. boolean broken = false;

  881. try {

  882. result = shardedJedis.expire(key, seconds);

  883. } catch (Exception e) {

  884. log.error(e.getMessage(), e);

  885. broken = true;

  886. } finally {

  887. redisDataSource.returnResource(shardedJedis, broken);

  888. }

  889. return result;

  890. }

  891. public Long expireAt(byte[] key, long unixTime) {

  892. Long result = null;

  893. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  894. if (shardedJedis == null) {

  895. return result;

  896. }

  897. boolean broken = false;

  898. try {

  899. result = shardedJedis.expireAt(key, unixTime);

  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. public Long ttl(byte[] key) {

  909. Long result = null;

  910. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  911. if (shardedJedis == null) {

  912. return result;

  913. }

  914. boolean broken = false;

  915. try {

  916. result = shardedJedis.ttl(key);

  917. } catch (Exception e) {

  918. log.error(e.getMessage(), e);

  919. broken = true;

  920. } finally {

  921. redisDataSource.returnResource(shardedJedis, broken);

  922. }

  923. return result;

  924. }

  925. public Long append(byte[] key, byte[] value) {

  926. Long result = null;

  927. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  928. if (shardedJedis == null) {

  929. return result;

  930. }

  931. boolean broken = false;

  932. try {

  933. result = shardedJedis.append(key, value);

  934. } catch (Exception e) {

  935. log.error(e.getMessage(), e);

  936. broken = true;

  937. } finally {

  938. redisDataSource.returnResource(shardedJedis, broken);

  939. }

  940. return result;

  941. }

  942. public Long hset(byte[] key, byte[] field, byte[] value) {

  943. Long result = null;

  944. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  945. if (shardedJedis == null) {

  946. return result;

  947. }

  948. boolean broken = false;

  949. try {

  950. result = shardedJedis.hset(key, field, value);

  951. } catch (Exception e) {

  952. log.error(e.getMessage(), e);

  953. broken = true;

  954. } finally {

  955. redisDataSource.returnResource(shardedJedis, broken);

  956. }

  957. return result;

  958. }

  959. public byte[] hget(byte[] key, byte[] field) {

  960. byte[] result = null;

  961. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  962. if (shardedJedis == null) {

  963. return result;

  964. }

  965. boolean broken = false;

  966. try {

  967. result = shardedJedis.hget(key, field);

  968. } catch (Exception e) {

  969. log.error(e.getMessage(), e);

  970. broken = true;

  971. } finally {

  972. redisDataSource.returnResource(shardedJedis, broken);

  973. }

  974. return result;

  975. }

  976. public String hmset(byte[] key, Map<byte[], byte[]> hash) {

  977. String result = null;

  978. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  979. if (shardedJedis == null) {

  980. return result;

  981. }

  982. boolean broken = false;

  983. try {

  984. result = shardedJedis.hmset(key, hash);

  985. } catch (Exception e) {

  986. log.error(e.getMessage(), e);

  987. broken = true;

  988. } finally {

  989. redisDataSource.returnResource(shardedJedis, broken);

  990. }

  991. return result;

  992. }

  993. public List<byte[]> hmget(byte[] key, byte[]... fields) {

  994. List<byte[]> result = null;

  995. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  996. if (shardedJedis == null) {

  997. return result;

  998. }

  999. boolean broken = false;

  1000. try {

  1001. result = shardedJedis.hmget(key, fields);

  1002. } catch (Exception e) {

  1003. log.error(e.getMessage(), e);

  1004. broken = true;

  1005. } finally {

  1006. redisDataSource.returnResource(shardedJedis, broken);

  1007. }

  1008. return result;

  1009. }

  1010. public Boolean hexists(byte[] key, byte[] field) {

  1011. Boolean result = false;

  1012. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1013. if (shardedJedis == null) {

  1014. return result;

  1015. }

  1016. boolean broken = false;

  1017. try {

  1018. result = shardedJedis.hexists(key, field);

  1019. } catch (Exception e) {

  1020. log.error(e.getMessage(), e);

  1021. broken = true;

  1022. } finally {

  1023. redisDataSource.returnResource(shardedJedis, broken);

  1024. }

  1025. return result;

  1026. }

  1027. public Long hdel(byte[] key, byte[] field) {

  1028. Long result = null;

  1029. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1030. if (shardedJedis == null) {

  1031. return result;

  1032. }

  1033. boolean broken = false;

  1034. try {

  1035. result = shardedJedis.hdel(key, field);

  1036. } catch (Exception e) {

  1037. log.error(e.getMessage(), e);

  1038. broken = true;

  1039. } finally {

  1040. redisDataSource.returnResource(shardedJedis, broken);

  1041. }

  1042. return result;

  1043. }

  1044. public Long rpush(byte[] key, byte[] string) {

  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.rpush(key, string);

  1053. } catch (Exception e) {

  1054. log.error(e.getMessage(), e);

  1055. broken = true;

  1056. } finally {

  1057. redisDataSource.returnResource(shardedJedis, broken);

  1058. }

  1059. return result;

  1060. }

  1061. public Long lpush(byte[] key, byte[] string) {

  1062. Long result = null;

  1063. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1064. if (shardedJedis == null) {

  1065. return result;

  1066. }

  1067. boolean broken = false;

  1068. try {

  1069. result = shardedJedis.lpush(key, string);

  1070. } catch (Exception e) {

  1071. log.error(e.getMessage(), e);

  1072. broken = true;

  1073. } finally {

  1074. redisDataSource.returnResource(shardedJedis, broken);

  1075. }

  1076. return result;

  1077. }

  1078. public Long llen(byte[] key) {

  1079. Long result = null;

  1080. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1081. if (shardedJedis == null) {

  1082. return result;

  1083. }

  1084. boolean broken = false;

  1085. try {

  1086. result = shardedJedis.llen(key);

  1087. } catch (Exception e) {

  1088. log.error(e.getMessage(), e);

  1089. broken = true;

  1090. } finally {

  1091. redisDataSource.returnResource(shardedJedis, broken);

  1092. }

  1093. return result;

  1094. }

  1095. public List<byte[]> lrange(byte[] key, int start, int end) {

  1096. List<byte[]> result = null;

  1097. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1098. if (shardedJedis == null) {

  1099. return result;

  1100. }

  1101. boolean broken = false;

  1102. try {

  1103. result = shardedJedis.lrange(key, start, end);

  1104. } catch (Exception e) {

  1105. log.error(e.getMessage(), e);

  1106. broken = true;

  1107. } finally {

  1108. redisDataSource.returnResource(shardedJedis, broken);

  1109. }

  1110. return result;

  1111. }

  1112. public String lset(byte[] key, int index, byte[] value) {

  1113. String result = null;

  1114. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1115. if (shardedJedis == null) {

  1116. return result;

  1117. }

  1118. boolean broken = false;

  1119. try {

  1120. result = shardedJedis.lset(key, index, value);

  1121. } catch (Exception e) {

  1122. log.error(e.getMessage(), e);

  1123. broken = true;

  1124. } finally {

  1125. redisDataSource.returnResource(shardedJedis, broken);

  1126. }

  1127. return result;

  1128. }

  1129. public Long lrem(byte[] key, int count, byte[] value) {

  1130. Long result = null;

  1131. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1132. if (shardedJedis == null) {

  1133. return result;

  1134. }

  1135. boolean broken = false;

  1136. try {

  1137. result = shardedJedis.lrem(key, count, value);

  1138. } catch (Exception e) {

  1139. log.error(e.getMessage(), e);

  1140. broken = true;

  1141. } finally {

  1142. redisDataSource.returnResource(shardedJedis, broken);

  1143. }

  1144. return result;

  1145. }

  1146. public byte[] lpop(byte[] key) {

  1147. byte[] result = null;

  1148. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1149. if (shardedJedis == null) {

  1150. return result;

  1151. }

  1152. boolean broken = false;

  1153. try {

  1154. result = shardedJedis.lpop(key);

  1155. } catch (Exception e) {

  1156. log.error(e.getMessage(), e);

  1157. broken = true;

  1158. } finally {

  1159. redisDataSource.returnResource(shardedJedis, broken);

  1160. }

  1161. return result;

  1162. }

  1163. public byte[] rpop(byte[] key) {

  1164. byte[] result = null;

  1165. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1166. if (shardedJedis == null) {

  1167. return result;

  1168. }

  1169. boolean broken = false;

  1170. try {

  1171. result = shardedJedis.rpop(key);

  1172. } catch (Exception e) {

  1173. log.error(e.getMessage(), e);

  1174. broken = true;

  1175. } finally {

  1176. redisDataSource.returnResource(shardedJedis, broken);

  1177. }

  1178. return result;

  1179. }

  1180. public Long sadd(byte[] key, byte[] member) {

  1181. Long result = null;

  1182. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1183. if (shardedJedis == null) {

  1184. return result;

  1185. }

  1186. boolean broken = false;

  1187. try {

  1188. result = shardedJedis.sadd(key, member);

  1189. } catch (Exception e) {

  1190. log.error(e.getMessage(), e);

  1191. broken = true;

  1192. } finally {

  1193. redisDataSource.returnResource(shardedJedis, broken);

  1194. }

  1195. return result;

  1196. }

  1197. public Set<byte[]> smembers(byte[] key) {

  1198. Set<byte[]> result = null;

  1199. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1200. if (shardedJedis == null) {

  1201. return result;

  1202. }

  1203. boolean broken = false;

  1204. try {

  1205. result = shardedJedis.smembers(key);

  1206. } catch (Exception e) {

  1207. log.error(e.getMessage(), e);

  1208. broken = true;

  1209. } finally {

  1210. redisDataSource.returnResource(shardedJedis, broken);

  1211. }

  1212. return result;

  1213. }

  1214. public Long scard(byte[] key) {

  1215. Long result = null;

  1216. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1217. if (shardedJedis == null) {

  1218. return result;

  1219. }

  1220. boolean broken = false;

  1221. try {

  1222. result = shardedJedis.scard(key);

  1223. } catch (Exception e) {

  1224. log.error(e.getMessage(), e);

  1225. broken = true;

  1226. } finally {

  1227. redisDataSource.returnResource(shardedJedis, broken);

  1228. }

  1229. return result;

  1230. }

  1231. public Long zadd(byte[] key, double score, byte[] member) {

  1232. Long result = null;

  1233. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1234. if (shardedJedis == null) {

  1235. return result;

  1236. }

  1237. boolean broken = false;

  1238. try {

  1239. result = shardedJedis.zadd(key, score, member);

  1240. } catch (Exception e) {

  1241. log.error(e.getMessage(), e);

  1242. broken = true;

  1243. } finally {

  1244. redisDataSource.returnResource(shardedJedis, broken);

  1245. }

  1246. return result;

  1247. }

  1248. public Long zcard(byte[] key) {

  1249. Long result = null;

  1250. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1251. if (shardedJedis == null) {

  1252. return result;

  1253. }

  1254. boolean broken = false;

  1255. try {

  1256. result = shardedJedis.zcard(key);

  1257. } catch (Exception e) {

  1258. log.error(e.getMessage(), e);

  1259. broken = true;

  1260. } finally {

  1261. redisDataSource.returnResource(shardedJedis, broken);

  1262. }

  1263. return result;

  1264. }

  1265. public JedisShardInfo getShardInfo(String key) {

  1266. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1267. JedisShardInfo result = null;

  1268. if (shardedJedis == null) {

  1269. return result;

  1270. }

  1271. boolean broken = false;

  1272. try {

  1273. result = shardedJedis.getShardInfo(key);

  1274. } catch (Exception e) {

  1275. log.error(e.getMessage(), e);

  1276. broken = true;

  1277. } finally {

  1278. redisDataSource.returnResource(shardedJedis, broken);

  1279. }

  1280. return result;

  1281. }

  1282. public Collection<JedisShardInfo> getAllShardInfo() {

  1283. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1284. Collection<JedisShardInfo> result = null;

  1285. if (shardedJedis == null) {

  1286. return result;

  1287. }

  1288. boolean broken = false;

  1289. try {

  1290. result = shardedJedis.getAllShardInfo();

  1291. } catch (Exception e) {

  1292. log.error(e.getMessage(), e);

  1293. broken = true;

  1294. } finally {

  1295. redisDataSource.returnResource(shardedJedis, broken);

  1296. }

  1297. return result;

  1298. }

  1299. public Collection<Jedis> getAllShards() {

  1300. ShardedJedis shardedJedis = redisDataSource.getRedisClient();

  1301. Collection<Jedis> result = null;

  1302. if (shardedJedis == null) {

  1303. return result;

  1304. }

  1305. boolean broken = false;

  1306. try {

  1307. result = shardedJedis.getAllShards();

  1308. } catch (Exception e) {

  1309. log.error(e.getMessage(), e);

  1310. broken = true;

  1311. } finally {

  1312. redisDataSource.returnResource(shardedJedis, broken);

  1313. }

  1314. return result;

  1315. }

  1316. }