標籤:redis
安裝
去http://redis.io/下載最新穩定版的源碼。解壓,進入解壓目錄,執行
makemake install
之後在src/目錄下會多出以下幾個檔案:
redis-serverredis-benchmarkredis-cliredis-conf
將其copy至/usr/redis目錄下即可。
部署
修改redis-conf檔案,添加:
requirepass 111111
將串連密碼設為111111。然後執行
./redis-server redis-conf
即可啟動redis伺服器。
與Spring Cache整合
首先在pom.xml中添加jedis和spring data redis依賴:
<!-- Spring Data Redis -->        <dependency>            <groupId>org.springframework.data</groupId>            <artifactId>spring-data-redis</artifactId>            <version>${spring-redis}</version>        </dependency>        <dependency>            <groupId>redis.clients</groupId>            <artifactId>jedis</artifactId>            <version>${jedis}</version>        </dependency>
因為我們將要使用jackson提供class序列化功能,因此還需要添加:
<dependency>            <groupId>org.codehaus.jackson</groupId>            <artifactId>jackson-mapper-asl</artifactId>            <version>1.9.4</version>        </dependency>
然後,在spring設定檔中添加:
<!-- Redis緩衝配置 -->     <beans:bean id="redisConnectionFactory"                class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory" >        <beans:property name="hostName" value="XX.XX.XX.XX" />        <beans:property name="password" value="111111" />    </beans:bean>    <!-- Serializer -->    <beans:bean id="keySerializer" class="org.springframework.data.redis.serializer.StringRedisSerializer" />    <beans:bean id="valueSerializer" class="org.springframework.data.redis.serializer.JacksonJsonRedisSerializer" />    <!-- redis template -->    <beans:bean id="redisTemplate"                class="org.springframework.data.redis.core.StringRedisTemplate">        <beans:property name="connectionFactory" ref="redisConnectionFactory" />        <beans:property name="keySerializer" ref="keySerializer" />        <beans:property name="valueSerializer" ref="valueSerializer" />    </beans:bean>    <!-- cache manager -->    <beans:bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">        <beans:constructor-arg name="template" ref="redisTemplate" />    </beans:bean>
完成以上工作後,就可以在service方法中使用@Cacheable方法了:
 @Override    @Transactional(readOnly = true)    @Cacheable(value = "cache", key = "#username")    public MemberModel findMember(String username, boolean isWired) {        MemberModel mem = memMapper.selectByUsername(username);        CheckUtils.nullCheck(mem);        return mem;    }
但是使用spring cache有個缺點,就是無法設定cache到期時間。如果有這方面需求,就必須直接使用jedis用戶端而不是spring cache了。
 
Redis的安裝、部署和與Spring Cache整合