Spring 4 集成 redis 实现缓存 一


背景

随着Web项目的复杂程度逐渐增加,可能会涉及诸如高并发、海量数据查询的的业务场景也逐渐增多;若频繁的操作数据库,会触发数据库的I/O瓶颈,因此需要加入缓存,尽量减少直接操作数据库的频率和次数;同时在分布式系统中,分布式锁等应用场景也需要依赖redis等缓存数据库;redis作为nosql数据库的代表,拥有广泛的应用场景;

这里介绍下Spring集成redis,实现缓存:

准备工作:

1.引入依赖;



    redis.clients
    jedis
    2.8.2



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

2.定义 redis.proerties 文件,配置连接池相关参数;

# redis configuration

# 连接池配置
redis.maxTotal=30
redis.maxIdle=10
redis.softMinEvictableIdleTimeMillis=10000
redis.blockWhenExhausted=true
redis.maxWaitMillis=1500
redis.testOnBorrow=false

redis.testWhileIdle=true
redis.timeBetweenEvictionRunsMillis=30000
redis.numTestsPerEvictionRun=1024
redis.minEvictableIdleTimeMillis=180000

# 单机配置
redis.host=169.254.244.131
redis.port=6379
# 自己选择是否开启密码
redis.password=123456

# 集群配置
redis.host1=169.254.244.131
redis.port1=7001
redis.host2=169.254.244.131
redis.port2=7002
redis.host3=169.254.244.131
redis.port3=7003
redis.host4=169.254.244.131
redis.port4=7004
redis.host5=169.254.244.131
redis.port5=7005
redis.host6=169.254.244.131
redis.port6=7006

3.连接池配置引入spring上下文中;



    
        
            classpath:redis.properties
        
    
    
    

单机版
<?xml version="1.0" encoding="UTF-8"?>


	
	
		
		
		
		
		
		
		
		
		
		
		
		

		
		
		
		
		
		
		
		
	

	
	
		
		 
		 
		 
	

	
	
		
		
		
			
		
		
			
		
		
			
		
		
			
		
		
		
	



通过将 RedisTemplate 注入到 spring bean 中即可操作 redis;

集群版
<?xml version="1.0" encoding="UTF-8"?>


	
	
		
		
		
		
		
		
		
		
		
		
		
		

		
		
		
		
		
		
		
		
	
	
	
	
		
	    
	    
	        
	            
	                
	                
	            
	            
	                
	                
	            
	            
	                
	                
	            
	            
	                
	                
	            
	            
	                
	                
	            
	            
	                
	                
	            
	        
	    
	

	
	
		
		
		
		
	

	
	
		
		
		
			
		
		
			
		
		
			
		
		
			
		
		
		
	



通过将 RedisTemplate 注入到 spring bean 中即可对 redis集群进行操作;