redis/redisCluster的一些东西

redis  单机连接池

import redis.clients.jedis.Jedis;
import redis.clients.jedis.JedisPool;
import redis.clients.jedis.JedisPoolConfig;

public class RedisPool {

	 private static JedisPool pool;//jedis连接池
	 
	    private static int maxTotal = 20;//最大连接数
	 
	    private static int maxIdle = 10;//最大空闲连接数
	 
	    private static int minIdle = 5;//最小空闲连接数
	 
	    private static boolean testOnBorrow = true;//在取连接时测试连接的可用性
	 
	    private static boolean testOnReturn = false;//再还连接时不测试连接的可用性
	    
	    static {
	        initPool();//初始化连接池
	    }
	 
	    public static Jedis getJedis(){
	        return pool.getResource();
	    }
	 
	    public static void close(Jedis jedis){
	        jedis.close();
	    }
	 
	    private static void initPool(){
	        JedisPoolConfig config = new JedisPoolConfig();
	        config.setMaxTotal(maxTotal);
	        config.setMaxIdle(maxIdle);
	        config.setMinIdle(minIdle);
	        config.setTestOnBorrow(testOnBorrow);
	        config.setTestOnReturn(testOnReturn);
	        config.setBlockWhenExhausted(true);
	        pool = new JedisPool(config, "ip", port, timeout, "password");
	    }
}

redis 集群的连接方式


import java.util.HashSet;
import java.util.Set;
import redis.clients.jedis.HostAndPort;
import redis.clients.jedis.JedisCluster;
import redis.clients.jedis.JedisPoolConfig;


public class RedisClusterPool {
	
	private static JedisCluster jedisCluster;
	
	public static JedisCluster getJedisCluster(){
		try{
			//加载连接池配置文件
			if(jedisCluster==null){
				Set<HostAndPort> jedisClusterNode = new HashSet<HostAndPort>();
				JedisPoolConfig config = new JedisPoolConfig();
				config.setMaxTotal(80);//设置最大连接数  
				config.setMaxIdle(10); //设置最大空闲数 
				config.setMaxWaitMillis(3000);//设置超时时间  
				config.setTestOnBorrow(true);
				jedisClusterNode.add(new HostAndPort("redis-svc.statefulset", Integer.parseInt("6379")));
//				jedisClusterNode.add(new HostAndPort("ip", Integer.parseInt("6380")));
//				jedisClusterNode.add(new HostAndPort("ip", Integer.parseInt("6381")));
//				jedisClusterNode.add(new HostAndPort("ip", Integer.parseInt("6383")));
//				jedisClusterNode.add(new HostAndPort("ip", Integer.parseInt("6384")));
//				jedisClusterNode.add(new HostAndPort("ip", Integer.parseInt("6385")));
				if (jedisCluster == null) {
//					jedisCluster = new JedisCluster(jedisClusterNode,1000,100,10,"password",config);
					jedisCluster = new JedisCluster(jedisClusterNode,config);
				}
			}
		}catch(Exception e){
			e.printStackTrace();
		}
		return jedisCluster;
		}
	
		public static void set(String key,String value){
			jedisCluster = getJedisCluster();
			jedisCluster.set(key, value);
		}
	
		public static String get(String key){
			jedisCluster = getJedisCluster();
			String value = jedisCluster.get(key);
			return value;
		}
	
}

redis-svc.statefulset 是k8s集群内部服务发现的地址

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值