国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

香港云服务器
服務(wù)器之家 - 編程語言 - Java教程 - spring緩存cache的使用詳解

spring緩存cache的使用詳解

2022-03-03 00:37書生楊陽 Java教程

這篇文章主要介紹了spring緩存cache的使用詳解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

spring緩存cache的使用

在spring配置文件中添加schema和spring對緩存注解的支持:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
     xmlns:aop="http://www.springframework.org/schema/aop"
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xmlns:mvc="http://www.springframework.org/schema/mvc"
     xmlns:context="http://www.springframework.org/schema/context"
     xmlns:tx="http://www.springframework.org/schema/tx"
     xmlns:p="http://www.springframework.org/schema/p"
     xmlns:cache="http://www.springframework.org/schema/cache"
     xsi:schemaLocation="http://www.springframework.org/schema/beans
          http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
          http://www.springframework.org/schema/context
          http://www.springframework.org/schema/context/spring-context-3.0.xsd
         http://www.springframework.org/schema/mvc
        http://www.springframework.org/schema/mvc/spring-mvc-3.0.xsd
          http://www.springframework.org/schema/aop
          http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
          http://www.springframework.org/schema/tx
          http://www.springframework.org/schema/tx/spring-tx.xsd
          http://www.springframework.org/schema/cache
          http://www.springframework.org/schema/cache/spring-cache.xsd"
     default-autowire="byName">
  <!--緩存配置-->
  <cache:annotation-driven/>

在spring配置文件中加入緩存管理器:

  <!-- generic cache manager -->
  <bean id="cacheManager"
        class="org.springframework.cache.support.SimpleCacheManager">
      <property name="caches">
          <set>
              <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean"
                    p:name="hardwareCache"/>
                    <bean class="org.springframework.cache.concurrent.ConcurrentMapCacheFactoryBean" 
                    p:name="bannerCache"/>
          </set>
      </property>
  </bean>

然后在代碼的service的impl層加上如下注解即可把數(shù)據(jù)緩存起來:

@Cacheable(value="bannerCache")

其中@Cacheable表示spring將緩存該方法獲取到的數(shù)據(jù),(緩存是基于key-value方式實(shí)現(xiàn)的),key為該方法的參數(shù),value為返回的數(shù)據(jù),當(dāng)你連續(xù)訪問該方法時(shí)你會發(fā)現(xiàn)只有第一次會訪問數(shù)據(jù)庫. 其他次數(shù)只是查詢緩存.減輕了數(shù)據(jù)庫的壓力.

spring緩存cache的使用詳解

當(dāng)更新了數(shù)據(jù)庫的數(shù)據(jù),需要讓緩存失效時(shí),使用下面的注解:

這個(gè)注解表示讓appCache緩存的所有數(shù)據(jù)都失效。

@CacheEvict(value = "appCache", allEntries = true)

spring緩存cache的使用詳解

 

springcache配置緩存存活時(shí)間

Spring Cache @Cacheable本身不支持key expiration的設(shè)置,以下代碼可自定義實(shí)現(xiàn)Spring Cache的expiration,針對Redis、SpringBoot2.0。

直接上代碼:

@Service
@Configuration
public class CustomCacheMng{
  private Logger logger = LoggerFactory.getLogger(this.getClass());
  // 指明自定義cacheManager的bean name
  @Cacheable(value = "test",key = "'obj1'",cacheManager = "customCacheManager")
  public User cache1(){
      User user = new User().setId(1);
      logger.info("1");
      return user;
  }
  @Cacheable(value = "test",key = "'obj2'")
  public User cache2(){
      User user = new User().setId(1);
      logger.info("2");
      return user;
  }
  
  // 自定義的cacheManager,實(shí)現(xiàn)存活2天
  @Bean(name = "customCacheManager")
  public CacheManager cacheManager(
          RedisTemplate<?, ?> redisTemplate) {
      RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory());
      RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig().entryTtl(Duration.ofDays(2));
      return new RedisCacheManager(writer, config);
  }
  
  // 提供默認(rèn)的cacheManager,應(yīng)用于全局
  @Bean
  @Primary
  public CacheManager defaultCacheManager(
          RedisTemplate<?, ?> redisTemplate) {
      RedisCacheWriter writer = RedisCacheWriter.lockingRedisCacheWriter(redisTemplate.getConnectionFactory());
      RedisCacheConfiguration config = RedisCacheConfiguration.defaultCacheConfig();
      return new RedisCacheManager(writer, config);
  }
}

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持服務(wù)器之家。

原文鏈接:https://blog.csdn.net/Petershusheng/article/details/52397895

延伸 · 閱讀

精彩推薦
830
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 九九av| 欧美亚洲日本 | 一二区视频 | 91在线观看高清视频 | 国产精品久久久久久亚洲调教 | 国产精品伦一区二区三级视频 | 国产午夜一区二区三区 | 日韩中文字幕视频在线 | 91久久精品日日躁夜夜躁国产 | 欧美视频精品在线 | 91社区在线播放 | 日韩三级黄色片 | 国产精品视频播放 | 久久中文字幕电影 | 亚洲在线视频 | 亚洲欧美成人综合 | 中国大陆一级毛片 | 亚洲+变态+欧美+另类+精品 | 懂色一区 | 中文字幕在线不卡 | 中文字幕欧美激情 | 精品视频在线视频 | 夜夜爽99久久国产综合精品女不卡 | 播放欧美一级片 | 日韩在线精品视频 | 福利视频一区二区三区 | 色就是色欧美 | 成人激情在线观看 | 成人在线日本 | 中文字幕在线视频观看 | 精品日韩视频 | 久久精视频 | 国产精品一区久久 | 精品黄色大片 | 亚洲国产aⅴ成人精品无吗 黄色免费在线看 | 国产精品色哟哟哟 | 国产一区在线不卡 | 久久精品无码一区二区三区 | 成人欧美一区二区 | 亚洲毛片| 精品久久久久久久久久久久 |