需要的jar包:
redis-2.6.1.jar
redis.properties配置:
redis.maxIdle=300
redis.maxTotal=600
redis.maxWaitMillis=1000
redis.testOnBorrow=true
redis.minIdle=1
redis.testOnReturn=true
redis.testWhileIdle=true
redis.masterName=mymaster
redis.host.a=****\:26379
redis.host.b=****\:26379
redis.host.c=****\:26379
redis.password=mymaster
applicationContext.xml配置:
<context:property-placeholder location="classpath:redis.properties" />
<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
<property name="maxIdle" value="${redis.maxIdle}" />
<property name="maxTotal" value="${redis.maxTotal}" />
<property name="maxWaitMillis" value="${redis.maxWaitMillis}" />
<property name="testOnBorrow" value="${redis.testOnBorrow}" />
<property name="minIdle" value="${redis.minIdle}"/>
<property name="testOnReturn" value="${redis.testOnReturn}"/>
<property name="testWhileIdle" value="${redis.testWhileIdle}"/>
</bean>
<bean id="jedisSentinelPool" class="redis.clients.jedis.JedisSentinelPool">
<constructor-arg name="masterName" value="${redis.masterName}"></constructor-arg>
<constructor-arg name="sentinels">
<set>
<value>${redis.host.a}</value>
<value>${redis.host.b}</value>
<value>${redis.host.c}</value>
</set>
</constructor-arg>
<constructor-arg ref="jedisPoolConfig"></constructor-arg>
<constructor-arg name="password" value="#{'${redis.password}'?:null}"></constructor-arg>
</bean>
RedisDataSourceImpl.jar代码:
package com.tg.redis.source.impl;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tg.redis.source.RedisDataSource;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisSentinelPool;
@Repository("redisDataSource")
public class RedisDataSourceImpl implements RedisDataSource {
private static final Logger log = LoggerFactory.getLogger(RedisDataSourceImpl.class);
@Autowired
private JedisSentinelPool jedisSentinelPool;
public Jedis getRedisClient() {
try {
Jedis shardJedis = jedisSentinelPool.getResource();
return shardJedis;
} catch (Exception e) {
log.error("getRedisClent error", e);
}
return null;
}
public void returnResource(Jedis shardedJedis) {
// shardedJedisPool.returnResource(shardedJedis);
shardedJedis.close();
}
public void returnResource(Jedis shardedJedis, boolean broken) {
if (broken) {
// shardedJedisPool.returnBrokenResource(shardedJedis);
shardedJedis.close();
} else {
// shardedJedisPool.returnResource(shardedJedis);
shardedJedis.close();
}
}
}
RedisDataSource.java代码:
package com.tg.redis.source;
import redis.clients.jedis.Jedis;
public interface RedisDataSource {
public abstract Jedis getRedisClient();
public void returnResource(Jedis shardedJedis);
public void returnResource(Jedis shardedJedis,boolean broken);
}
BaseDaoImpl.java代码:
package com.tg.redis.dao.base.impl;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import com.tg.redis.dao.base.BaseDao;
import com.tg.redis.source.RedisDataSource;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.SortingParams;
import redis.clients.jedis.Tuple;
@Repository
public class BaseDaoImpl implements BaseDao {
private static final Logger log = LoggerFactory.getLogger(BaseDaoImpl.class);
@Autowired
private RedisDataSource redisDataSource;
public void disconnect() {
Jedis jedis = redisDataSource.getRedisClient();
jedis.disconnect();
}
/**
* 设置单个值
*
* @param key
* @param value
* @return
*/
public String set(String key, String value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.set(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
/**
* 获取单个值
*
* @param key
* @return
*/
public String get(String key) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.get(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean exists(String key) {
Boolean result = false;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.exists(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String type(String key) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.type(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
/**
* 在某段时间后实现
*
* @param key
* @param unixTime
* @return
*/
public Long expire(String key, int seconds) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.expire(key, seconds);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
/**
* 在某个时间点失效
*
* @param key
* @param unixTime
* @return
*/
public Long expireAt(String key, long unixTime) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.expireAt(key, unixTime);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long ttl(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.ttl(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public boolean setbit(String key, long offset, boolean value) {
Jedis jedis = redisDataSource.getRedisClient();
boolean result = false;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setbit(key, offset, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public boolean getbit(String key, long offset) {
Jedis jedis = redisDataSource.getRedisClient();
boolean result = false;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getbit(key, offset);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public long setrange(String key, long offset, String value) {
Jedis jedis = redisDataSource.getRedisClient();
long result = 0;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setrange(key, offset, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String getrange(String key, long startOffset, long endOffset) {
Jedis jedis = redisDataSource.getRedisClient();
String result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getrange(key, startOffset, endOffset);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String getSet(String key, String value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getSet(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long setnx(String key, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setnx(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String setex(String key, int seconds, String value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setex(key, seconds, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long decrBy(String key, long integer) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.decrBy(key, integer);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long decr(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.decr(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long incrBy(String key, long integer) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.incrBy(key, integer);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long incr(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.incr(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long append(String key, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.append(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String substr(String key, int start, int end) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.substr(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hset(String key, String field, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hset(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String hget(String key, String field) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hget(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hsetnx(String key, String field, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hsetnx(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String hmset(String key, Map<String, String> hash) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hmset(key, hash);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<String> hmget(String key, String... fields) {
List<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hmget(key, fields);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hincrBy(String key, String field, long value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hincrBy(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean hexists(String key, String field) {
Boolean result = false;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hexists(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long del(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.del(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hdel(String key, String field) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hdel(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hlen(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hlen(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> hkeys(String key) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hkeys(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<String> hvals(String key) {
List<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hvals(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Map<String, String> hgetAll(String key) {
Map<String, String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hgetAll(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
// ================list ====== l表示 list或 left, r表示right====================
public Long rpush(String key, String string) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.rpush(key, string);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long lpush(String key, String string) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lpush(key, string);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long llen(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.llen(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<String> lrange(String key, long start, long end) {
List<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String ltrim(String key, long start, long end) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.ltrim(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String lindex(String key, long index) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lindex(key, index);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String lset(String key, long index, String value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lset(key, index, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long lrem(String key, long count, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lrem(key, count, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String lpop(String key) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lpop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String rpop(String key) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.rpop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
//return 1 add a not exist value ,
//return 0 add a exist value
public Long sadd(String key, String member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sadd(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> smembers(String key) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.smembers(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long srem(String key, String member) {
Jedis jedis = redisDataSource.getRedisClient();
Long result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.srem(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String spop(String key) {
Jedis jedis = redisDataSource.getRedisClient();
String result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.spop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long scard(String key) {
Jedis jedis = redisDataSource.getRedisClient();
Long result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.scard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean sismember(String key, String member) {
Jedis jedis = redisDataSource.getRedisClient();
Boolean result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sismember(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String srandmember(String key) {
Jedis jedis = redisDataSource.getRedisClient();
String result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.srandmember(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zadd(String key, double score, String member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zadd(key, score, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrange(String key, int start, int end) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrem(String key, String member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrem(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Double zincrby(String key, double score, String member) {
Double result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zincrby(key, score, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrank(String key, String member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrank(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrevrank(String key, String member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrank(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrevrange(String key, int start, int end) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeWithScores(String key, int start, int end) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeWithScores(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeWithScores(String key, int start, int end) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeWithScores(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zcard(String key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zcard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Double zscore(String key, String member) {
Double result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zscore(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<String> sort(String key) {
List<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sort(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<String> sort(String key, SortingParams sortingParameters) {
List<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sort(key, sortingParameters);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zcount(String key, double min, double max) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zcount(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrangeByScore(String key, double min, double max) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScore(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrevrangeByScore(String key, double max, double min) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScore(key, max, min);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrangeByScore(String key, double min, double max, int offset, int count) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScore(key, min, max, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<String> zrevrangeByScore(String key, double max, double min, int offset, int count) {
Set<String> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScore(key, max, min, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScoreWithScores(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScoreWithScores(key, max, min);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max, int offset, int count) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScoreWithScores(key, min, max, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScoreWithScores(key, max, min, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zremrangeByRank(String key, int start, int end) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zremrangeByRank(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zremrangeByScore(String key, double start, double end) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zremrangeByScore(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long linsert(String key, LIST_POSITION where, String pivot, String value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.linsert(key, where, pivot, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String set(byte[] key, byte[] value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.set(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] get(byte[] key) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.get(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean exists(byte[] key) {
Boolean result = false;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.exists(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String type(byte[] key) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.type(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long expire(byte[] key, int seconds) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.expire(key, seconds);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long expireAt(byte[] key, long unixTime) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.expireAt(key, unixTime);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long ttl(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.ttl(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] getSet(byte[] key, byte[] value) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getSet(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long setnx(byte[] key, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setnx(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String setex(byte[] key, int seconds, byte[] value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.setex(key, seconds, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long decrBy(byte[] key, long integer) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.decrBy(key, integer);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long decr(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.decr(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long incrBy(byte[] key, long integer) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.incrBy(key, integer);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long incr(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.incr(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long append(byte[] key, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.append(key, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] substr(byte[] key, int start, int end) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.substr(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hset(byte[] key, byte[] field, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hset(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] hget(byte[] key, byte[] field) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hget(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hsetnx(byte[] key, byte[] field, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hsetnx(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String hmset(byte[] key, Map<byte[], byte[]> hash) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hmset(key, hash);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<byte[]> hmget(byte[] key, byte[]... fields) {
List<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hmget(key, fields);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hincrBy(byte[] key, byte[] field, long value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hincrBy(key, field, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean hexists(byte[] key, byte[] field) {
Boolean result = false;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hexists(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hdel(byte[] key, byte[] field) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hdel(key, field);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long hlen(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hlen(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> hkeys(byte[] key) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hkeys(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Collection<byte[]> hvals(byte[] key) {
Collection<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hvals(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Map<byte[], byte[]> hgetAll(byte[] key) {
Map<byte[], byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.hgetAll(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long rpush(byte[] key, byte[] string) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.rpush(key, string);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long lpush(byte[] key, byte[] string) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lpush(key, string);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long llen(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.llen(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<byte[]> lrange(byte[] key, int start, int end) {
List<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String ltrim(byte[] key, int start, int end) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.ltrim(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] lindex(byte[] key, int index) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lindex(key, index);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String lset(byte[] key, int index, byte[] value) {
String result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lset(key, index, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long lrem(byte[] key, int count, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lrem(key, count, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] lpop(byte[] key) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.lpop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] rpop(byte[] key) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.rpop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long sadd(byte[] key, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sadd(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> smembers(byte[] key) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.smembers(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long srem(byte[] key, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.srem(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] spop(byte[] key) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.spop(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long scard(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.scard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Boolean sismember(byte[] key, byte[] member) {
Boolean result = false;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sismember(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public byte[] srandmember(byte[] key) {
byte[] result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.srandmember(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zadd(byte[] key, double score, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zadd(key, score, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrange(byte[] key, int start, int end) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrem(byte[] key, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrem(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Double zincrby(byte[] key, double score, byte[] member) {
Double result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zincrby(key, score, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrank(byte[] key, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrank(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zrevrank(byte[] key, byte[] member) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrank(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrevrange(byte[] key, int start, int end) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrange(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeWithScores(byte[] key, int start, int end) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeWithScores(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeWithScores(byte[] key, int start, int end) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeWithScores(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zcard(byte[] key) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zcard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Double zscore(byte[] key, byte[] member) {
Double result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zscore(key, member);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<byte[]> sort(byte[] key) {
List<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sort(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public List<byte[]> sort(byte[] key, SortingParams sortingParameters) {
List<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.sort(key, sortingParameters);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zcount(byte[] key, double min, double max) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zcount(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrangeByScore(byte[] key, double min, double max) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScore(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrangeByScore(byte[] key, double min, double max, int offset, int count) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScore(key, min, max, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScoreWithScores(key, min, max);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max, int offset, int count) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrangeByScoreWithScores(key, min, max, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScore(key, max, min);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min, int offset, int count) {
Set<byte[]> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScore(key, max, min, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScoreWithScores(key, max, min);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset, int count) {
Set<Tuple> result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zrevrangeByScoreWithScores(key, max, min, offset, count);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zremrangeByRank(byte[] key, int start, int end) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zremrangeByRank(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long zremrangeByScore(byte[] key, double start, double end) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.zremrangeByScore(key, start, end);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Long linsert(byte[] key, LIST_POSITION where, byte[] pivot, byte[] value) {
Long result = null;
Jedis jedis = redisDataSource.getRedisClient();
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.linsert(key, where, pivot, value);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
/*@SuppressWarnings("deprecation")
public List<Object> pipelined(ShardedJedisPipeline shardedJedisPipeline) {
Jedis jedis = redisDataSource.getRedisClient();
List<Object> result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.pipelined(shardedJedisPipeline);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Jedis getShard(byte[] key) {
Jedis jedis = redisDataSource.getRedisClient();
Jedis result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getShard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Jedis getShard(String key) {
Jedis jedis = redisDataSource.getRedisClient();
Jedis result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getShard(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public JedisShardInfo getShardInfo(byte[] key) {
Jedis jedis = redisDataSource.getRedisClient();
JedisShardInfo result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getShardInfo(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public JedisShardInfo getShardInfo(String key) {
Jedis jedis = redisDataSource.getRedisClient();
JedisShardInfo result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getShardInfo(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public String getKeyTag(String key) {
Jedis jedis = redisDataSource.getRedisClient();
String result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getKeyTag(key);
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Collection<JedisShardInfo> getAllShardInfo() {
Jedis jedis = redisDataSource.getRedisClient();
Collection<JedisShardInfo> result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getAllShardInfo();
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}
public Collection<Jedis> getAllShards() {
Jedis jedis = redisDataSource.getRedisClient();
Collection<Jedis> result = null;
if (jedis == null) {
return result;
}
boolean broken = false;
try {
result = jedis.getAllShards();
} catch (Exception e) {
log.error(e.getMessage(), e);
broken = true;
} finally {
redisDataSource.returnResource(jedis, broken);
}
return result;
}*/
}
BaseDao.java代码:
package com.tg.redis.dao.base;
import java.util.Collection;
import java.util.List;
import java.util.Map;
import java.util.Set;
import org.springframework.stereotype.Repository;
import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisShardInfo;
import redis.clients.jedis.ShardedJedisPipeline;
import redis.clients.jedis.SortingParams;
import redis.clients.jedis.Tuple;
import redis.clients.jedis.BinaryClient.LIST_POSITION;
@Repository
public interface BaseDao {
public void disconnect();
/**
* 设置单个值
*
* @param key
* @param value
* @return
*/
public String set(String key, String value);
/**
* 获取单个值
*
* @param key
* @return
*/
public String get(String key);
public Boolean exists(String key);
public String type(String key);
/**
* 在某段时间后实现
*
* @param key
* @param unixTime
* @return
*/
public Long expire(String key, int seconds);
/**
* 在某个时间点失效
*
* @param key
* @param unixTime
* @return
*/
public Long expireAt(String key, long unixTime);
public Long ttl(String key);
public boolean setbit(String key, long offset, boolean value);
public boolean getbit(String key, long offset);
public long setrange(String key, long offset, String value);
public String getrange(String key, long startOffset, long endOffset);
public String getSet(String key, String value);
public Long setnx(String key, String value);
public String setex(String key, int seconds, String value);
public Long decrBy(String key, long integer);
public Long decr(String key);
public Long incrBy(String key, long integer);
public Long incr(String key);
public Long append(String key, String value);
public String substr(String key, int start, int end);
public Long hset(String key, String field, String value);
public String hget(String key, String field);
public Long hsetnx(String key, String field, String value);
public String hmset(String key, Map<String, String> hash);
public List<String> hmget(String key, String... fields);
public Long hincrBy(String key, String field, long value);
public Boolean hexists(String key, String field);
public Long del(String key);
public Long hdel(String key, String field);
public Long hlen(String key);
public Set<String> hkeys(String key);
public List<String> hvals(String key);
public Map<String, String> hgetAll(String key);
// ================list ====== l表示 list或 left, r表示right====================
public Long rpush(String key, String string);
public Long lpush(String key, String string);
public Long llen(String key);
public List<String> lrange(String key, long start, long end);
public String ltrim(String key, long start, long end);
public String lindex(String key, long index);
public String lset(String key, long index, String value);
public Long lrem(String key, long count, String value);
public String lpop(String key);
public String rpop(String key);
//return 1 add a not exist value ,
//return 0 add a exist value
public Long sadd(String key, String member);
public Set<String> smembers(String key);
public Long srem(String key, String member);
public String spop(String key);
public Long scard(String key);
public Boolean sismember(String key, String member);
public String srandmember(String key);
public Long zadd(String key, double score, String member);
public Set<String> zrange(String key, int start, int end);
public Long zrem(String key, String member);
public Double zincrby(String key, double score, String member);
public Long zrank(String key, String member);
public Long zrevrank(String key, String member);
public Set<String> zrevrange(String key, int start, int end);
public Set<Tuple> zrangeWithScores(String key, int start, int end);
public Set<Tuple> zrevrangeWithScores(String key, int start, int end);
public Long zcard(String key);
public Double zscore(String key, String member);
public List<String> sort(String key);
public List<String> sort(String key, SortingParams sortingParameters);
public Long zcount(String key, double min, double max);
public Set<String> zrangeByScore(String key, double min, double max);
public Set<String> zrevrangeByScore(String key, double max, double min);
public Set<String> zrangeByScore(String key, double min, double max, int offset, int count);
public Set<String> zrevrangeByScore(String key, double max, double min, int offset, int count);
public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max);
public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min);
public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max, int offset, int count);
public Set<Tuple> zrevrangeByScoreWithScores(String key, double max, double min, int offset, int count);
public Long zremrangeByRank(String key, int start, int end);
public Long zremrangeByScore(String key, double start, double end);
public Long linsert(String key, LIST_POSITION where, String pivot, String value);
public String set(byte[] key, byte[] value);
public byte[] get(byte[] key);
public Boolean exists(byte[] key);
public String type(byte[] key);
public Long expire(byte[] key, int seconds);
public Long expireAt(byte[] key, long unixTime);
public Long ttl(byte[] key);
public byte[] getSet(byte[] key, byte[] value);
public Long setnx(byte[] key, byte[] value);
public String setex(byte[] key, int seconds, byte[] value);
public Long decrBy(byte[] key, long integer);
public Long decr(byte[] key);
public Long incrBy(byte[] key, long integer);
public Long incr(byte[] key);
public Long append(byte[] key, byte[] value);
public byte[] substr(byte[] key, int start, int end);
public Long hset(byte[] key, byte[] field, byte[] value);
public byte[] hget(byte[] key, byte[] field);
public Long hsetnx(byte[] key, byte[] field, byte[] value);
public String hmset(byte[] key, Map<byte[], byte[]> hash);
public List<byte[]> hmget(byte[] key, byte[]... fields);
public Long hincrBy(byte[] key, byte[] field, long value);
public Boolean hexists(byte[] key, byte[] field);
public Long hdel(byte[] key, byte[] field);
public Long hlen(byte[] key);
public Set<byte[]> hkeys(byte[] key);
public Collection<byte[]> hvals(byte[] key);
public Map<byte[], byte[]> hgetAll(byte[] key);
public Long rpush(byte[] key, byte[] string);
public Long lpush(byte[] key, byte[] string);
public Long llen(byte[] key);
public List<byte[]> lrange(byte[] key, int start, int end);
public String ltrim(byte[] key, int start, int end);
public byte[] lindex(byte[] key, int index);
public String lset(byte[] key, int index, byte[] value);
public Long lrem(byte[] key, int count, byte[] value);
public byte[] lpop(byte[] key);
public byte[] rpop(byte[] key);
public Long sadd(byte[] key, byte[] member);
public Set<byte[]> smembers(byte[] key);
public Long srem(byte[] key, byte[] member);
public byte[] spop(byte[] key);
public Long scard(byte[] key);
public Boolean sismember(byte[] key, byte[] member);
public byte[] srandmember(byte[] key);
public Long zadd(byte[] key, double score, byte[] member);
public Set<byte[]> zrange(byte[] key, int start, int end);
public Long zrem(byte[] key, byte[] member);
public Double zincrby(byte[] key, double score, byte[] member);
public Long zrank(byte[] key, byte[] member);
public Long zrevrank(byte[] key, byte[] member);
public Set<byte[]> zrevrange(byte[] key, int start, int end);
public Set<Tuple> zrangeWithScores(byte[] key, int start, int end);
public Set<Tuple> zrevrangeWithScores(byte[] key, int start, int end);
public Long zcard(byte[] key);
public Double zscore(byte[] key, byte[] member);
public List<byte[]> sort(byte[] key);
public List<byte[]> sort(byte[] key, SortingParams sortingParameters);
public Long zcount(byte[] key, double min, double max);
public Set<byte[]> zrangeByScore(byte[] key, double min, double max);
public Set<byte[]> zrangeByScore(byte[] key, double min, double max, int offset, int count);
public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max);
public Set<Tuple> zrangeByScoreWithScores(byte[] key, double min, double max, int offset, int count);
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min);
public Set<byte[]> zrevrangeByScore(byte[] key, double max, double min, int offset, int count);
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min);
public Set<Tuple> zrevrangeByScoreWithScores(byte[] key, double max, double min, int offset, int count);
public Long zremrangeByRank(byte[] key, int start, int end);
public Long zremrangeByScore(byte[] key, double start, double end);
public Long linsert(byte[] key, LIST_POSITION where, byte[] pivot, byte[] value);
/*public List<Object> pipelined(ShardedJedisPipeline shardedJedisPipeline);
public Jedis getShard(byte[] key);
public Jedis getShard(String key);
public JedisShardInfo getShardInfo(byte[] key);
public JedisShardInfo getShardInfo(String key);
public String getKeyTag(String key);
public Collection<JedisShardInfo> getAllShardInfo();
public Collection<Jedis> getAllShards();*/
}