标签:connect clu 字符串类 字符串键 pre color idle param 最大连接数
Spring配置文件中redis集群配置
<!-- 连接池配置 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <!-- 最大连接数 --> <property name="maxTotal" value="1000"/> <!-- 最大空闲连接数 --> <property name="maxIdle" value="50"/> <property name="minIdle" value="20"/> <!-- 等待可用连接的最大时间,单位毫秒,默认值为-1,表示永不超时。如果超过等待时间,则直接抛出JedisConnectionException --> <property name="maxWaitMillis" value="10000" /> <!-- 逐出扫描的时间间隔(毫秒) 如果为负数,则不运行逐出线程, 默认-1 --> <property name="timeBetweenEvictionRunsMillis" value="1000"/> <!-- 逐出连接的最小空闲时间 默认1800000毫秒(30分钟) --> <property name="minEvictableIdleTimeMillis" value="1000"/> <!-- 在获取连接的时候检查有效性, 默认false --> <property name="testOnBorrow" value="true"/> <!-- 在空闲时检查有效性, 默认false --> <property name="testWhileIdle" value="true"/> </bean> <bean id="jedisCluster" class="redis.clients.jedis.JedisCluster"> <constructor-arg name="nodes"> <set> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host1}" /> <constructor-arg name="port" value="${redis.port1}" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host2}" /> <constructor-arg name="port" value="${redis.port2}" /> </bean> <bean class="redis.clients.jedis.HostAndPort"> <constructor-arg name="host" value="${redis.host3}" /> <constructor-arg name="port" value="${redis.port3}" /> </bean> </set> </constructor-arg> <constructor-arg name="timeout" value="10000" type="int" /> <constructor-arg name="poolConfig" ref="jedisPoolConfig" /> </bean>
创建一个redisservice
1 public interface RedisClusterService { 2 3 Long incr(String key); 4 5 void addSet(String key,String ... values); 6 7 Long getSetLength(String key); 8 9 Long getLong(String key); 10 11 boolean delString(String key); 12 13 Long decr(String key); 14 15 void expire(String key, int seconds); 16 17 String flushAll(); 18 19 boolean setString(String key, String value); 20 21 String getString(String key); 22 23 void setex(String key, int seconds, String value); 24 25 void set(String key, String value); 26 27 String get(String key); 28 29 }
RedisServise实现类
1 @Service("redisService") 2 public class RedisClusterServiceImpl implements RedisClusterService { 3 protected static Logger logger = Logger.getLogger(RedisClusterServiceImpl.class); 4 private static final Long LONG_0=0L; 5 @Autowired 6 private JedisCluster jedisCluster; 7 /** 8 *通过键获取值 9 * @param key 10 * @param values 11 */ 12 @Override 13 public String get(String key) { 14 15 try{ 16 String string = jedisCluster.get(key); 17 return string; 18 }catch(Exception e){ 19 logger.error("redis add set error,key["+key+"]", e); 20 return null; 21 } 22 } 23 /** 24 * 向Redis中添加键值 25 * @param key 26 * @param values 27 */ 28 @Override 29 public void set(String key, String value) { 30 if(null == key || value == null) { 31 return; 32 } 33 try{ 34 jedisCluster.set(key, value); 35 }catch(Exception e){ 36 logger.error("redis add set error,key["+key+"]", e); 37 } 38 } 39 /** 40 * redis递增操作 41 * @param key 42 * @param value 43 */ 44 @Override 45 public void setex(String key, int seconds, String value) { 46 47 try{ 48 jedisCluster.setex(key,seconds,value); 49 }catch(Exception e){ 50 logger.error("redis incr error and key = " + key, e); 51 } 52 } 53 /** 54 * redis递增操作 55 * @param key 56 * @param value 57 */ 58 @Override 59 public Long incr(String key) { 60 61 try{ 62 return jedisCluster.incr(key); 63 }catch(Exception e){ 64 logger.error("redis incr error and key = " + key, e); 65 return LONG_0; 66 } 67 } 68 /** 69 * 向Redis中添加set集合 70 * @param key 71 * @param values 72 */ 73 @Override 74 public void addSet(String key, String ... values) { 75 if(null == key || values == null) { 76 return; 77 } 78 79 try{ 80 jedisCluster.sadd(key, values); 81 }catch(Exception e){ 82 logger.error("redis add set error,key["+key+"]", e); 83 } 84 } 85 /** 86 * 返回Set集合中的元素个数 87 * @param key 88 * @return 89 */ 90 @Override 91 public Long getSetLength(String key) { 92 if(null == key) { 93 return LONG_0; 94 } 95 try{ 96 return jedisCluster.scard(key); 97 }catch(Exception e){ 98 logger.error("redis get set size error,key["+key+"]", e); 99 return LONG_0; 100 } 101 } 102 /** 103 * 获取String类型的值 104 * @param key 键的值 105 * @return 106 */ 107 @Override 108 public Long getLong(String key) { 109 if(null == key) { 110 return LONG_0; 111 } 112 113 String val = jedisCluster.get(key); 114 if(val == null) { 115 return LONG_0; 116 } 117 return Long.valueOf(val); 118 } 119 /** 120 * 操作字符串类型(String),删除键 121 * @param key 122 * @return 123 */ 124 @Override 125 public boolean delString(String key) { 126 try{ 127 jedisCluster.del(key); 128 return true; 129 }catch(Exception e){ 130 logger.error("redis del key error!key["+key+"]", e); 131 return false; 132 } 133 } 134 /** 135 * redis递减操作 136 * @param key 137 * @param value 138 */ 139 @Override 140 public Long decr(String key) { 141 142 try{ 143 return jedisCluster.decr(key); 144 }catch(Exception e){ 145 logger.error("redis incr error and key = " + key, e); 146 return LONG_0; 147 } 148 } 149 150 /** 151 * 设置过期时间 152 * 153 * @param key 154 * @param seconds 155 */ 156 @Override 157 public void expire(String key, int seconds) { 158 if (seconds <= 0) { 159 return; 160 } 161 162 try{ 163 jedisCluster.expire(key, seconds); 164 }catch(Exception e){ 165 logger.error("redis expire error and key = " + key, e); 166 } 167 } 168 169 /** 170 * 清空所有key 171 */ 172 @Override 173 public String flushAll() { 174 175 String stata=StringUtils.EMPTY; 176 try{ 177 stata = ((BasicCommands) jedisCluster).flushAll(); 178 return stata; 179 }catch(Exception e){ 180 logger.error("redis clear all key error", e); 181 return stata; 182 } 183 } 184 185 186 /** 187 * 向redis新增字符串键值对 188 * @param key 189 * @param value 190 */ 191 @Override 192 public boolean setString(String key, String value) { 193 if(null == key || value == null ) { 194 return false; 195 } 196 try{ 197 jedisCluster.set(key, value); 198 return true; 199 }catch(Exception e){ 200 logger.error("redis set key error,key["+key+"]", e); 201 return false; 202 } 203 } 204 /** 205 * 获取String类型的值 206 * @param key 键的值 207 * @return 208 */ 209 @Override 210 public String getString(String key) { 211 if(null == key) { 212 return null; 213 } 214 try{ 215 return jedisCluster.get(key); 216 }catch(Exception e){ 217 logger.error("redis getBytes error!", e); 218 return null; 219 } 220 } 221 }
标签:connect clu 字符串类 字符串键 pre color idle param 最大连接数
原文地址:https://www.cnblogs.com/guanjunhui/p/10280862.html