国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

配置Spring4.0注解Cache+Redis緩存的用法

2019-11-26 12:32:27
字體:
來源:轉載
供稿:網友

前言:

目前公司項目在上一個技術架構的處理,已經搭建好了Redis,但redis只用在了做session的管理,然而 后臺的對象緩存沒有用上

1. redis 和 ehcache的區別:

簡單了解了下,個人覺得 從部署上而言,redis更適合分布式部署,ehcache是在每臺應用服務器上開辟一塊內存做緩存,集群時還得考慮緩存的情況, redis就不需要考慮緩存了、單獨部署在一臺服務器中(也可以是在某一臺應用服務器中)

2. 項目配置(spring mvc+maven+mybaits+redis),這里只講Spring 集成 redis:

a. 配置 pom.xml 文件  (若不是maven管理項目,下載2個jar 即可 )

<!-- redis cache related.....start -->     <dependency>       <groupId>org.springframework.data</groupId>       <artifactId>spring-data-redis</artifactId>       <version>1.6.0.RELEASE</version>     </dependency>     <dependency>       <groupId>redis.clients</groupId>       <artifactId>jedis</artifactId>       <version>2.7.3</version>     </dependency>     <!-- redis cache related.....end --> 

b.配置 applicationContext.xml文件

先在<beans>中加入 cache緩存

xmlns:cache="http://www.springframework.org/schema/cache"  xsi:schemaLocation="http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.2.xsd" 

在Spring加載redis配置

<!-- ******************** redis緩存  **********************--> <!-- 注解一定要配置,不然不起作用 --> <cache:annotation-driven />   <!-- jedis 配置 -->   <bean id="poolConfig" class="redis.clients.jedis.JedisPoolConfig">     <property name="maxIdle" value="${redis.maxIdle}" />     <!--<property name="maxWaitMillis" value="${redis.maxWait}" />-->     <property name="testOnBorrow" value="${redis.testOnBorrow}" />   </bean>    <!-- redis服務器中心 -->   <bean id="connectionFactory"     class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory">     <property name="poolConfig" ref="poolConfig" />     <property name="port" value="${redis.port}" />     <property name="hostName" value="${redis.hostname}" />     <!-- <property name="password" value="${redis.password}" /> -->     <property name="timeout" value="${redis.timeout}"></property>   </bean>      <bean id="redisTemplate" class="org.springframework.data.redis.core.RedisTemplate">     <property name="connectionFactory" ref="connectionFactory" />     <property name="keySerializer">       <bean         class="org.springframework.data.redis.serializer.StringRedisSerializer" />     </property>     <property name="valueSerializer">       <bean         class="org.springframework.data.redis.serializer.JdkSerializationRedisSerializer" />     </property>   </bean>   <!-- 配置緩存 -->   <bean id="cacheManager" class="org.springframework.data.redis.cache.RedisCacheManager">     <constructor-arg ref="redisTemplate" />   </bean>    <!-- ******************** redis緩存  **********************--> 

c.配置 application.properties 資源文件

#redis config #redis.hostname=192.168.242.131  redis.hostname=localhost redis.port=6379  redis.timeout=2000 redis.usePool=true redis.default.db=0 #/u6700/u5927/u5206/u914D/u7684/u5BF9/u8C61/u6570   redis.maxTotal=600 #/u6700/u5927/u80FD/u591F/u4FDD/u6301idel/u72B6/u6001/u7684/u5BF9/u8C61/u6570  redis.maxIdle=300  #/u591A/u957F/u65F6/u95F4/u68C0/u67E5/u4E00/u6B21/u8FDE/u63A5/u6C60/u4E2D/u7A7A/u95F2/u7684/u8FDE/u63A5 redis.timeBetweenEvictionRunsMillis=30000  #/u7A7A/u95F2/u8FDE/u63A5/u591A/u957F/u65F6/u95F4/u540E/u4F1A/u88AB/u6536/u56DE redis.minEvictableIdleTimeMillis=30000  #/u5F53/u8C03/u7528borrow Object/u65B9/u6CD5/u65F6/uFF0C/u662F/u5426/u8FDB/u884C/u6709/u6548/u6027/u68C0/u67E5  redis.testOnBorrow=true  ########reids/u7F16/u7801/u683C/u5F0F redis.encode=utf-8 ######/u7F13/u5B58/u8FC7/u671F/u65F6/u95F4 /u79D2 1000*60*60*24*7 /u4E03/u5929 redis.expire=604800000 ####/u662F/u5426/u5F00/u542FRedis/u670D/u52A1/u5E94/u7528 redis.unlock=false 

3. 測試  

@Service("testService") public class TestServiceImpl implements ITestService {      @Resource   private ITestDao testDao;    @Cacheable(value="testId",key="'id_'+#id")   public Test getTestById(int id) {     return this.testDao.getObjById(id);   }      @CacheEvict(value="testId",key="'id_'+#id")   public void removeTestById(int id) {        } } 

結果:

第一次 進入Service方法

第二次 不進入service方法 也得到了值

注: 有朋友會問,啟動訪問時保錯, 那是因為本地未啟動redis服務, 下載win32/win64版的,啟動 再訪問就不會報錯

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持武林網。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 车险| 淮滨县| 望奎县| 准格尔旗| 二连浩特市| 双辽市| 红原县| 瓦房店市| 新巴尔虎左旗| 呼伦贝尔市| 东乡| 靖西县| 马尔康县| 五大连池市| 阿图什市| 肥东县| 芜湖县| 永嘉县| 遂宁市| 临高县| 栖霞市| 孝义市| 琼结县| 高邮市| 油尖旺区| 六枝特区| 图片| 泰州市| 扬州市| 苏州市| 巴彦淖尔市| 大兴区| 湖南省| 和顺县| 徐汇区| 通州区| 阿鲁科尔沁旗| 时尚| 霸州市| 莱州市| 泰宁县|