[redis] 分布式 Redis 的 CRUD 实现
生活随笔
收集整理的這篇文章主要介紹了
[redis] 分布式 Redis 的 CRUD 实现
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
?
1、applicationContext-redis.xml
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:context="http://www.springframework.org/schema/context"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.0.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.0.xsd"><!-- 對象池配置 --><bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.pool.maxTotal}"/> <!-- 控制一個pool可分配多少個jedis實例 --> <property name="maxIdle" value="${redis.pool.maxIdle}" /> <!-- 控制一個pool最多有多少個狀態為idle(空閑)的jedis實例 --> <property name="minIdle" value="${redis.pool.minIdle}"/><property name="maxWaitMillis" value="${redis.pool.maxWaitMillis}" /> <!-- 表示當borrow一個jedis實例時,最大的等待時間,如果超過等待時間,則直接拋出JedisConnectionException --> <property name="testOnBorrow" value="${redis.pool.testOnBorrow}" /> <!-- 在borrow一個jedis實例時,是否提前進行validate操作;如果為true,則得到的jedis實例均是可用的 --> <property name="testOnReturn" value="${redis.pool.testOnReturn}"/><property name="testWhileIdle" value="${redis.pool.testWhileIdle}"/></bean><!-- 分布式鏈接池 --><bean id="shardedJedisPool" class="redis.clients.jedis.ShardedJedisPool" scope="singleton" destroy-method="destroy"><constructor-arg index="0" ref="jedisPoolConfig"/><constructor-arg index="1"><list><bean class="redis.clients.jedis.JedisShardInfo"><constructor-arg name="host" value="${redis.host1}" /><constructor-arg name="port" value="${redis.port1}" /><constructor-arg name="timeout" value="${redis.timeout}" /></bean><bean class="redis.clients.jedis.JedisShardInfo"><constructor-arg name="host" value="${redis.host2}" /><constructor-arg name="port" value="${redis.port2}" /><constructor-arg name="timeout" value="${redis.timeout}" /></bean></list></constructor-arg></bean><bean id="redisService" class="org.saiku.redis.impl.RedisServiceImpl"><property name="shardedJedisPool" ref="shardedJedisPool"></property></bean><bean id="redisClient" class="org.saiku.redis.RedisClient"><property name="redisService" ref="redisService"></property></bean></beans>2、RedisServiceImpl:獲取和放回SharedJedis對象
?
接口
package org.saiku.redis;import redis.clients.jedis.ShardedJedis;public interface RedisService {public ShardedJedis getRedisClient();public void returnResource(ShardedJedis shardedJedis);public void returnResource(ShardedJedis shardedJedis, boolean broken);}實現類
package org.saiku.redis.impl;import org.saiku.redis.RedisService; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPool;@SuppressWarnings("deprecation") public class RedisServiceImpl implements RedisService {private static final Logger log = LoggerFactory.getLogger(RedisServiceImpl.class);private ShardedJedisPool shardedJedisPool;public ShardedJedisPool getShardedJedisPool() {return shardedJedisPool;}public void setShardedJedisPool(ShardedJedisPool shardedJedisPool) {this.shardedJedisPool = shardedJedisPool;}@Overridepublic ShardedJedis getRedisClient() {try {ShardedJedis shardJedis = shardedJedisPool.getResource();return shardJedis;} catch (Exception e) {log.error("getRedisClent error", e);}return null;}@Overridepublic void returnResource(ShardedJedis shardedJedis) {shardedJedisPool.returnResource(shardedJedis);}@Overridepublic void returnResource(ShardedJedis shardedJedis, boolean broken) {if (broken) {shardedJedisPool.returnBrokenResource(shardedJedis);} else {shardedJedisPool.returnResource(shardedJedis);}}}?
3、RedisClient:執行對redis服務器數據的增刪改查的類
package org.saiku.redis;import java.util.Collection; import java.util.List; import java.util.Map; import java.util.Set;import org.saiku.redis.impl.RedisServiceImpl; import org.slf4j.Logger; import org.slf4j.LoggerFactory;import redis.clients.jedis.BinaryClient.LIST_POSITION; import redis.clients.jedis.Jedis; import redis.clients.jedis.JedisShardInfo; import redis.clients.jedis.ShardedJedis; import redis.clients.jedis.ShardedJedisPipeline; import redis.clients.jedis.SortingParams; import redis.clients.jedis.Tuple;public class RedisClient {private static final Logger log = LoggerFactory.getLogger(RedisServiceImpl.class);private RedisServiceImpl redisService;public RedisServiceImpl getRedisService() {return redisService;}public void setRedisService(RedisServiceImpl redisService) {this.redisService = redisService;}/*** 釋放連接*/public void disconnect() {ShardedJedis shardedJedis = redisService.getRedisClient();shardedJedis.disconnect();}/*** 設置單個值*/public String set(String key, String value) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.set(key, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 判斷是否存在* * @param key* @return*/public Boolean exists(String key) {Boolean result = false;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.exists(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 獲取單個值*/public String get(String key) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.get(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 判斷是何種類型* * @param key* @return*/public String type(String key) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.type(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 在某段時間后失效*/public Long expire(String key, int seconds) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.expire(key, seconds);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 在某個時間點失效*/public Long expireAt(String key, long time) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.expireAt(key, time);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 獲取生存周期* * @param key* @return*/public Long ttl(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.ttl(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public boolean setbit(String key, long offset, boolean value) {ShardedJedis shardedJedis = redisService.getRedisClient();boolean result = false;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.setbit(key, offset, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public boolean getbit(String key, long offset) {ShardedJedis shardedJedis = redisService.getRedisClient();boolean result = false;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getbit(key, offset);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public long setrange(String key, long offset, String value) {ShardedJedis shardedJedis = redisService.getRedisClient();long result = 0;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.setrange(key, offset, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String getrange(String key, long startOffset, long endOffset) {ShardedJedis shardedJedis = redisService.getRedisClient();String result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getrange(key, startOffset, endOffset);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String getSet(String key, String value) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getSet(key, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long setnx(String key, String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.setnx(key, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String setex(String key, int seconds, String value) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.setex(key, seconds, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long decrBy(String key, long integer) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.decrBy(key, integer);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long decr(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.decr(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long incrBy(String key, long integer) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.incrBy(key, integer);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long incr(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.incr(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long append(String key, String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.append(key, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String substr(String key, int start, int end) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.substr(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long hset(String key, String field, String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hset(key, field, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String hget(String key, String field) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hget(key, field);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long hsetnx(String key, String field, String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hsetnx(key, field, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String hmset(String key, Map<String, String> hash) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hmset(key, hash);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public List<String> hmget(String key, String... fields) {List<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hmget(key, fields);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long hincrBy(String key, String field, long value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hincrBy(key, field, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Boolean hexists(String key, String field) {Boolean result = false;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hexists(key, field);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long del(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.del(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long hdel(String key, String field) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hdel(key, field);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long hlen(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hlen(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> hkeys(String key) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hkeys(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public List<String> hvals(String key) {List<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hvals(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Map<String, String> hgetAll(String key) {Map<String, String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.hgetAll(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 在redis list尾部增加一個String* */public Long rpush(String key, String string) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.rpush(key, string);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 在redis list頭部增加一個String* */public Long lpush(String key, String string) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lpush(key, string);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long llen(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.llen(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public List<String> lrange(String key, long start, long end) {List<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lrange(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String ltrim(String key, long start, long end) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.ltrim(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String lIndex(String key, long index) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lindex(key, index);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String lset(String key, long index, String value) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lset(key, index, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long lrem(String key, long count, String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lrem(key, count, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 從redis list頭部取出一個key* */public String lpop(String key) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.lpop(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}/*** 從redis list尾部取出一個key* */public String rpop(String key) {String result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.rpop(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long sadd(String key, String member) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.sadd(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> smembers(String key) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.smembers(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long srem(String key, String member) {ShardedJedis shardedJedis = redisService.getRedisClient();Long result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.srem(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String spop(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();String result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.spop(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long scard(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();Long result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.scard(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Boolean sismember(String key, String member) {ShardedJedis shardedJedis = redisService.getRedisClient();Boolean result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.sismember(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String srandmember(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();String result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.srandmember(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zadd(String key, double score, String member) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zadd(key, score, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrange(String key, int start, int end) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrange(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zrem(String key, String member) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrem(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Double zincrby(String key, double score, String member) {Double result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zincrby(key, score, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zrank(String key, String member) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrank(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zrevrank(String key, String member) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrank(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrevrange(String key, int start, int end) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrange(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrangeWithScores(String key, int start, int end) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrangeWithScores(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrevrangeWithScores(String key, int start, int end) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrangeWithScores(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zcard(String key) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zcard(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Double zscore(String key, String member) {Double result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zscore(key, member);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public List<String> sort(String key) {List<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.sort(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public List<String> sort(String key, SortingParams sortingParameters) {List<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.sort(key, sortingParameters);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zcount(String key, double min, double max) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zcount(key, min, max);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrangeByScore(String key, double min, double max) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrangeByScore(key, min, max);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrevrangeByScore(String key, double max, double min) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrangeByScore(key, max, min);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrangeByScore(String key, double min, double max,int offset, int count) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrangeByScore(key, min, max, offset, count);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<String> zrevrangeByScore(String key, double max, double min,int offset, int count) {Set<String> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrangeByScore(key, max, min, offset, count);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrangeByScoreWithScores(String key, double min, double max) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrangeByScoreWithScores(key, min, max);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrevrangeByScoreWithScores(String key, double max,double min) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrangeByScoreWithScores(key, max, min);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrangeByScoreWithScores(String key, double min,double max, int offset, int count) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrangeByScoreWithScores(key, min, max,offset, count);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Set<Tuple> zrevrangeByScoreWithScores(String key, double max,double min, int offset, int count) {Set<Tuple> result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zrevrangeByScoreWithScores(key, max, min,offset, count);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zremrangeByRank(String key, int start, int end) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zremrangeByRank(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long zremrangeByScore(String key, double start, double end) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.zremrangeByScore(key, start, end);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Long linsert(String key, LIST_POSITION where, String pivot,String value) {Long result = null;ShardedJedis shardedJedis = redisService.getRedisClient();if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.linsert(key, where, pivot, value);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}@SuppressWarnings("deprecation")public List<Object> pipelined(ShardedJedisPipeline shardedJedisPipeline) {ShardedJedis shardedJedis = redisService.getRedisClient();List<Object> result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.pipelined(shardedJedisPipeline);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Jedis getShard(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();Jedis result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getShard(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public JedisShardInfo getShardInfo(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();JedisShardInfo result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getShardInfo(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public String getKeyTag(String key) {ShardedJedis shardedJedis = redisService.getRedisClient();String result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getKeyTag(key);} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Collection<JedisShardInfo> getAllShardInfo() {ShardedJedis shardedJedis = redisService.getRedisClient();Collection<JedisShardInfo> result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getAllShardInfo();} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}public Collection<Jedis> getAllShards() {ShardedJedis shardedJedis = redisService.getRedisClient();Collection<Jedis> result = null;if (shardedJedis == null) {return result;}boolean flag = false;try {result = shardedJedis.getAllShards();} catch (Exception e) {log.error(e.getMessage(), e);flag = true;} finally {redisService.returnResource(shardedJedis, flag);}return result;}}4、使用
在需要使用redisClient的地方注入
@Autowired private RedisClient redisClient;調用redisClient方法執行增刪改查
//不存在就新增 if( !redisClient.exists(auth.getName())){redisClient.set(redisKey,userInfo.toString()); }//存在才可以刪除 if( redisClient.exists(auth.getName())){redisClient.del(redisKey); }//獲取 String userInfo = redisClient.get(username);效果:通過查詢redis可以看到數據成功的插入到redis了
127.0.0.1:6379> KEYS * 1) "user1"127.0.0.1:6379> get user1 "user1;pwd2;b1f86e0a-8761-4467-b420-48d9783d3806;tl21uazmvnd4v3ee4bunesms;ROLE_USER"
?
轉載于:https://www.cnblogs.com/avivaye/p/4935004.html
總結
以上是生活随笔為你收集整理的[redis] 分布式 Redis 的 CRUD 实现的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux系统安全审计简单设置
- 下一篇: 关于memecache的使用及清楚示意