spring整合redisson配置

配置方式

redis的部署方式有单节点部署、哨兵方式部署、集群方式部署3种方式

各种配置方式可以去看xsd文件:redisson-1.1.xsd

 // 单节点
 // 哨兵
 // 集群
 // 主从

等其他方式

单节点配置standalone

单纯的java代码,基于单节点部署为了保证数据的备份,一般会添加一个节点作为slave来备份master节点上的数据

//创建配置  
Config config = new Config();  
//指定使用单节点部署方式  
config.useSingleServer().setAddress("redis://127.0.0.1:6379");  
//创建客户端(发现这一非常耗时,基本在2秒-4秒左右)  
RedissonClient redisson = Redisson.create(config);  
  
//首先获取redis中的key-value对象,key不存在没关系  
RBucket keyObject = redisson.getBucket("key");  
//如果key存在,就设置key的值为新值value  
//如果key不存在,就设置key的值为value  
keyObject.set("value");  
  
//最后关闭RedissonClient  
redisson.shutdown(); 

spring整合pom

  
  
    org.redisson  
    redisson  
    2.10.4  
 


    redis.clients
    jedis
    1.7.1.RELEASE


    org.springframework.data
    spring-data-redis
    1.7.1.RELEASE

spring整合redisson.xml

      
          
              
          
      

哨兵配置sentinel

纯java代码

//创建配置  
Config config = new Config();  
//指定使用哨兵部署方式  
config.useSentinelServers()  
    //设置sentinel.conf配置里的sentinel别名  
    //比如sentinel.conf里配置为sentinel monitor my-sentinel-name 127.0.0.1 6379 2,那么这里就配置my-sentinel-name  
    .setMasterName("my-sentinel-name")  
    //这里设置sentinel节点的服务IP和端口,sentinel是采用Paxos拜占庭协议,一般sentinel至少3个节点  
    //记住这里不是配置redis节点的服务端口和IP,sentinel会自己把请求转发给后面monitor的redis节点  
    .addSentinelAddress("redis://127.0.0.1:26379")  
    .addSentinelAddress("redis://127.0.0.1:26389")  
    .addSentinelAddress("redis://127.0.0.1:26399");  
  
//创建客户端(发现这一非常耗时,基本在2秒-4秒左右)  
RedissonClient redisson = Redisson.create(config);  
//首先获取redis中的key-value对象,key不存在没关系  
RBucket keyObject = redisson.getBucket("key");  
//如果key存在,就设置key的值为新值value  
//如果key不存在,就设置key的值为value  
keyObject.set("value");  
  
//最后关闭RedissonClient  
redisson.shutdown(); 

spring整合redis和redisson的配置文件




    
    
        
        
        
        
        
    

    
    
        
        
        
        
        
        
        
        
    

    
    
        
            
                
            
        
        
            
                
                    
                    
                
            
        
    

    
    
        
        
        
            
        
        
            
        
        
        
            
        
        
            
        
    

    
    
        
    

    
        
        
            
            
        
    

使用

    @Autowired
    @Lazy
    private RedissonClient redissonClient; 


   /**
     * @param key 具体键值
     * @return 锁对象
     */
    public RReadWriteLock getLock(String key) {
        return redissonClient.getReadWriteLock(key);
    }

集群配置cluster

纯java代码

//创建配置  
Config config = new Config();  
//指定使用集群部署方式  
config.useClusterServers()  
    // 集群状态扫描间隔时间,单位是毫秒  
    .setScanInterval(2000)   
    //cluster方式至少6个节点(3主3从,3主做sharding,3从用来保证主宕机后可以高可用)  
    .addNodeAddress("redis://127.0.0.1:6379" )  
    .addNodeAddress("redis://127.0.0.1:6380")  
    .addNodeAddress("redis://127.0.0.1:6381")  
    .addNodeAddress("redis://127.0.0.1:6382")  
    .addNodeAddress("redis://127.0.0.1:6383")  
    .addNodeAddress("redis://127.0.0.1:6384");  
//创建客户端(发现这一非常耗时,基本在2秒-4秒左右)  
RedissonClient redisson = Redisson.create(config);  
  
//首先获取redis中的key-value对象,key不存在没关系  
RBucket keyObject = redisson.getBucket("key");  
//如果key存在,就设置key的值为新值value  
//如果key不存在,就设置key的值为value  
keyObject.set("value");  
  
//最后关闭RedissonClient  
redisson.shutdown();

spring整合redisson配置方式




    
    
        
        
        
        
        
        

        
        
        
    

    
    
    
        
        
        
        
        
        
        
        
    

    
    
        
            
            
            
            
            
            
            
        
    


properties文件

redisColony.host = 172.17.46.11:36379,172.17.46.11:36381,172.17.45.12:36379,172.17.45.12:36381,172.17.45.13:36379,172.17.45.13:36381
redis.timeOut = 100000
redis.redirection = 5

redisColony.host1 = redis://172.17.46.11:36379
redisColony.host2 = redis://172.17.46.11:36381
redisColony.host3 = redis://172.17.45.12:36379
redisColony.host4 = redis://172.17.45.12:36381
redisColony.host5 = redis://172.17.45.13:36379
redisColony.host6 = redis://172.17.45.13:36381

使用方式与哨兵配置方式相同,@Autowired注入即可

主从部署方式(master/slave)

纯java代码

    //创建配置  
    Config config = new Config();  
    //指定使用主从部署方式  
    config.useMasterSlaveServers()  
        //设置redis主节点  
        .setMasterAddress("redis://127.0.0.1:6379")  
        //设置redis从节点  
        .addSlaveAddress("redis://127.0.0.1:6380", "redis://127.0.0.1:6381");  
    //创建客户端(发现这一非常耗时,基本在2秒-4秒左右)  
    RedissonClient redisson = Redisson.create(config);  
      
    //首先获取redis中的key-value对象,key不存在没关系  
    RBucket keyObject = redisson.getBucket("key");  
    //如果key存在,就设置key的值为新值value  
    //如果key不存在,就设置key的值为value  
    keyObject.set("value");  
      
    //最后关闭RedissonClient  
    redisson.shutdown();  

spring整合redisson.xml

  
      
          
              
              
          
      

 

你可能感兴趣的:(redis)