package cn.binux.redis.service.impl; import cn.binux.constant.Const; import cn.binux.redis.service.JedisClient; import com.alibaba.dubbo.config.annotation.Service; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisPool; /** * @author 許彬. * @creater 2017-04-22 */ @Service(version = Const.XBIN_STORE_REDIS_VERSION) public class JedisClientSingle implements JedisClient { @Autowired private JedisPool jedisPool; @Value("${redis.password}") private String password; private Jedis getResource() { Jedis resource = jedisPool.getResource(); if (StringUtils.isBlank(password)) { return resource; } else { resource.auth(password); return resource; } } @Override public String get(String key) { Jedis resource = getResource(); String string = resource.get(key); resource.close(); return string; } @Override public String set(String key, String value) { Jedis resource = getResource(); String string = resource.set(key, value); resource.close(); return string; } @Override public String hget(String hkey, String key) { Jedis resource = getResource(); String string = resource.hget(hkey, key); resource.close(); return string; } @Override public long hset(String hkey, String key, String value) { Jedis resource = getResource(); Long hset = resource.hset(hkey, key, value); resource.close(); return hset; } @Override public long incr(String key) { Jedis resource = getResource(); Long incr = resource.incr(key); resource.close(); return incr; } @Override public long expire(String key, Integer second) { Jedis resource = getResource(); Long expire = resource.expire(key, second); resource.close(); return expire; } @Override public long ttl(String key) { Jedis resource = getResource(); Long ttl = resource.ttl(key); resource.close(); return ttl; } @Override public long del(String key) { Jedis resource = getResource(); Long del = resource.del(key); resource.close(); return del; } @Override public long hdel(String hkey, String key) { Jedis resource = getResource(); Long hdel = resource.hdel(hkey, key); resource.close(); return hdel; } }