Redis叢集的配置檔案和程式碼
阿新 • • 發佈:2018-12-25
Redis叢集的配置
java程式碼
依賴public class RedisService { // 登入校驗資訊的key public static final String DPM_LOGIN_LOGININFO_KEY = "DPM_LOGIN_LOGININFO_"; // Jedis連線池 private static ShardedJedisPool jedisPool; /** * 構建redis連線池 * * @param ip * @param port * @return JedisPool */ public static ShardedJedisPool getPool() { if (jedisPool == null) { JedisPoolConfig config = new JedisPoolConfig(); //最大連線數 config.setMaxTotal(1024); //物件最大空閒連線數 config.setMaxIdle(200); //連線的最大等待毫秒數 config.setMaxWaitMillis(1000); //連線測試可用 config.setTestOnBorrow(true); //返回連線池測試可用 config.setTestOnReturn(true); String host = "192.168.68.249"; int port = 6379; List<JedisShardInfo> jdsInfoList =new ArrayList<JedisShardInfo>(); JedisShardInfo info = new JedisShardInfo(host, port); info.setPassword("123456"); jdsInfoList.add(info); jedisPool =new ShardedJedisPool(config, jdsInfoList); } return jedisPool; } /** * get操作 */ public String get(final String key){ ShardedJedis shardedJedis = null; jedisPool=getPool(); try { // 獲取連線 shardedJedis = jedisPool.getResource(); // 獲取快取資料 return shardedJedis.get(key); } finally { if(null != shardedJedis){ // 將有效的連線返回到連線池 shardedJedis.close(); } } } /** * 設定存活時間 */ public Long expire(String key,int seconds) { ShardedJedis shardedJedis = null; try { // 獲取連線 shardedJedis = jedisPool.getResource(); // 設定生存時間 return shardedJedis.expire(key, seconds); } finally { if(null != shardedJedis){ // 將有效的連線返回到連線池 shardedJedis.close(); } } } /** * setter */ public void setJedisPool(ShardedJedisPool jedisPool) { this.jedisPool = jedisPool; } }
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.6.0</version>
</dependency>
spring配置(此程式碼沒有使用讀取外部檔案,可不用這段配置)
spring-config.properties的redis引數配置(沒使用spring.xml的配置就可不使用此配置):<!-- 單點登入的redis --> <!-- jedis連線池配置資訊 --> <bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig"> <property name="maxTotal" value="${redis.maxTotal}"></property> <property name="maxIdle" value="${redis.maxIdle}"></property> <property name="maxWaitMillis" value="${redis.maxWaitMillis}"></property> <property name="testOnBorrow" value="${redis.testOnBorrow}"></property> <property name="testOnReturn" value="${redis.testOnReturn}"></property> </bean> <bean id="loginJedisPool" class="redis.clients.jedis.ShardedJedisPool"> <!-- 連線池的配置 --> <constructor-arg index="0" ref="jedisPoolConfig" /> <!-- 叢集資訊 --> <constructor-arg index="1"> <list> <!-- 第一個節點 --> <bean class="redis.clients.jedis.JedisShardInfo"> <constructor-arg index="0" value="${loginRedis.ip}" /> <constructor-arg index="1" value="${loginRedis.port}" /> <constructor-arg index="2" value="node1" /> <property name="password" value="${loginRedis.pass}" /> </bean> </list> </constructor-arg> </bean> <bean id="loginRedisService" class="com.deppon.dpm.module.common.server.service.impl.RedisService"> <property name="jedisPool" ref="loginJedisPool" /> </bean> <!-- 單點登入的redis end-->
3、spring-config.properties的redis引數配置: loginRedis.ip=192.168.68.249 loginRedis.port=6379 loginRedis.pass=123456 #最大連線數 redis.maxTotal=1024 #最大空閒連線數 redis.maxIdle=200 #獲取連線的最大等待毫秒數 redis.maxWaitMillis=1000 #獲取連線測試可用 redis.testOnBorrow=true #返回連線池測試可用 redis.testOnReturn=true