欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

redis 结合Spring的应用 博客分类: Redis  

程序员文章站 2024-02-14 20:36:40
...

一 Redis的安装

1:Window版Redis的安装

请参考网址http://os.51cto.com/art/201403/431103.htm

2:Linux版Redis的安装

请参考网址http://www.cnblogs.com/silent2012/p/3499654.html

 

安装完成之后,需要下载的几个jar文件。


redis 结合Spring的应用
            
    
    博客分类: Redis  
 

 


redis 结合Spring的应用
            
    
    博客分类: Redis  
 
redis 结合Spring的应用
            
    
    博客分类: Redis  
 

二 配置和测试

 

1 配置

Redis.properties 写道
redis.ip=localhost
redis2.ip=192.168.1.1
#Port
redis.port=6379
#password
redis.password=mima

#最大能够保持idel状态的对象数
redis.pool.maxIdle=200
#当调用borrow Object方法时,是否进行有效性检查
redis.pool.testOnBorrow=true
#当调用return Object方法时,是否进行有效性检查
redis.pool.testOnReturn=true

 

application-redis.xml的配置信息如下

 

		<bean id="jedisPoolConfig" class="redis.clients.jedis.JedisPoolConfig">
		  <property name="maxIdle"       value="${redis.pool.maxIdle}" />  
		  <property name="testOnBorrow"  value="${redis.pool.testOnBorrow}" /> 
		</bean>
				
		<bean id="jedisConnectionFactory" class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >
		  <property name="hostName"   value="${redis.ip}" />  
		  <property name="port"       value="${redis.port}" />
		  <property name="password" value="${redis.password}"/>
		  <property name="poolConfig" ref="jedisPoolConfig" /> 
		</bean>
		<bean id="redisTemplate" class="org.springframework.data.redis.core.StringRedisTemplate">  
        	<property name="connectionFactory"   ref="jedisConnectionFactory" />  
    	</bean>  

 

 

 并在application-redis.xml中加入<bean id="testDao" class="impl.TestDao" />

2 测试。

在TestDao实现你基本添加和获取的方法。

 

(1)定义一个抽象类,并在该抽象类注入redisTemplate的方法

         

public abstract class AbstractRedisDao<K, V> {

    @Autowired   
    protected RedisTemplate<K, V> redisTemplate;  

    public void setRedisTemplate(RedisTemplate<K, V> redisTemplate) {  
        this.redisTemplate = redisTemplate;  
    }  
       
    protected RedisSerializer<String> getRedisSerializer() {  
        return redisTemplate.getStringSerializer();  
    }  
	
}

 

(2)定义添加和获取接口方法

public interface ITestClassDao {
	/** 
     * 新增 
     * @param testClass
     * @return 
     */  
    boolean add(TestClass testClass);  
      
    /** 
     * 获取 
     * @param keyId 
     * @return  
     */  
    TestClass get(String keyId);  
}

 

  (3) 定义实现

public class TestClassDao extends AbstractBaseRedisDao<String, TestClass>  implements ITestClassDao  {

	/**  
     * 新增 
     * @param testClass 
     * @return 
     */  
    public boolean add(final TestClass testClass) {  
        boolean result = redisTemplate.execute(new RedisCallback<Boolean>() {  
            public Boolean doInRedis(RedisConnection connection)  
                    throws DataAccessException {  
                RedisSerializer<String> serializer = getRedisSerializer();  
                byte[] key  = serializer.serialize(testClass.getId());  
                byte[] name = serializer.serialize(testClass.getName());  
                return connection.setNX(key, name);  
            }  
        });  
        return result;  
    }  
      
  
  
    /**  
     * 获取 
     * @param keyId 
     * @return 
     */  
    public TestClass get(final String keyId) {  
        TestClass result = redisTemplate.execute(new RedisCallback<TestClass>() {  
            public TestClass doInRedis(RedisConnection connection)  
                    throws DataAccessException {  
                RedisSerializer<String> serializer = getRedisSerializer();  
                byte[] key = serializer.serialize(keyId);  
                byte[] value = connection.get(key);  
                if (value == null) {  
                    return null;  
                }  
                String name = serializer.deserialize(value);  
                return new TestClass(keyId, name);  
            }  
        });  
        return result;  
    }  

}

 

 

 

三 结束

 

当然redis还有更复杂的多表查询,正在学习。

 

 

 

 

 

 

  • redis 结合Spring的应用
            
    
    博客分类: Redis  
  • 大小: 1.3 KB
  • redis 结合Spring的应用
            
    
    博客分类: Redis  
  • 大小: 1 KB
  • redis 结合Spring的应用
            
    
    博客分类: Redis  
  • 大小: 1.1 KB