org.springframework.cache.guava.GuavaCacheManager.<init>()方法的使用及代码示例

x33g5p2x  于2022-01-20 转载在 其他  
字(7.3k)|赞(0)|评价(0)|浏览(102)

本文整理了Java中org.springframework.cache.guava.GuavaCacheManager.<init>()方法的一些代码示例,展示了GuavaCacheManager.<init>()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。GuavaCacheManager.<init>()方法的具体详情如下:
包路径:org.springframework.cache.guava.GuavaCacheManager
类名称:GuavaCacheManager
方法名:<init>

GuavaCacheManager.<init>介绍

[英]Construct a dynamic GuavaCacheManager, lazily creating cache instances as they are being requested.
[中]构造一个动态GuavaCacheManager,在请求缓存实例时惰性地创建它们。

代码示例

代码示例来源:origin: 527515025/springBoot

@Bean
  public CacheManager getCacheManager() {
    List<Person> personList = demoService.findAll();
    //所有缓存的名字
    List<String> cacheNames = new ArrayList();
    GuavaCacheManager cacheManager = new GuavaCacheManager();
    //GuavaCacheManager 的数据结构类似  Map<String,Map<Object,Object>>  map =new HashMap<>();

    //将数据放入缓存
    personList.stream().forEach(person -> {
      //用person 的id cacheName
      String cacheName=person.getId().toString();
      if(cacheManager.getCache(cacheName)==null){
        //为每一个person 如果不存在,创建一个新的缓存对象
        cacheNames.add(cacheName);
        cacheManager.setCacheNames(cacheNames);
      }
      Cache cache = cacheManager.getCache(cacheName);
      //缓存对象用person的id当作缓存的key 用person 当作缓存的value
      cache.put(person.getId(),person);
      System.out.println("为 ID 为"+cacheName+ "的person 数据做了缓存");
    });
    return cacheManager;
  }
}

代码示例来源:origin: lianggzone/springboot-action

@Bean
  public CacheManager cacheManager() {
    GuavaCacheManager cacheManager = new GuavaCacheManager();
    cacheManager.setCacheBuilder(
      CacheBuilder.newBuilder().
      expireAfterWrite(10, TimeUnit.SECONDS).
      maximumSize(1000));
    return cacheManager;
  }
}

代码示例来源:origin: kaif-open/kaif

@Bean
public CacheManager rssHotArticlesCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(4, TimeUnit.HOURS)
   .maximumSize(100);
 GuavaCacheManager cacheManager = new GuavaCacheManager("rssHotArticles");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: kaif-open/kaif

@Bean
public CacheManager articleCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(10, TimeUnit.MINUTES)
   .maximumSize(2000);
 GuavaCacheManager cacheManager = new GuavaCacheManager("Article");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: kaif-open/kaif

@Bean
 public CacheManager honorRollsCacheManager() {
  CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
    .expireAfterWrite(1, TimeUnit.HOURS)
    .maximumSize(100);
  GuavaCacheManager cacheManager = new GuavaCacheManager("listHonorRoll");
  cacheManager.setCacheBuilder(cacheBuilder);
  return cacheManager;
 }
}

代码示例来源:origin: org.eclipse.hawkbit/hawkbit-repository-test

@Bean
TenantAwareCacheManager cacheManager() {
  return new TenantAwareCacheManager(new GuavaCacheManager(), tenantAware());
}
/**

代码示例来源:origin: kaif-open/kaif

@Bean
public CacheManager zoneInfoCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(10, TimeUnit.MINUTES)
   .maximumSize(2000);
 GuavaCacheManager cacheManager = new GuavaCacheManager("ZoneInfo");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: kaif-open/kaif

/**
 * hot zones cache, refresh every one hour. no need to distribute if we have multiple web servers
 *
 * @see {@link io.kaif.model.article.ArticleDao#listHotZonesWithCache(int, java.time.Instant)}
 */
@Bean
public CacheManager listHotZonesCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(1, TimeUnit.HOURS)
   .maximumSize(1000);
 GuavaCacheManager cacheManager = new GuavaCacheManager("listHotZones");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: kaif-open/kaif

/**
 * administrators cache, refresh every one minutes. no need to distribute if we have multiple
 * web servers (user just not see new administrators)
 */
@Bean
public CacheManager listAdministratorsCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(1, TimeUnit.MINUTES)
   .maximumSize(1000);
 GuavaCacheManager cacheManager = new GuavaCacheManager("listAdministrators");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: kaif-open/kaif

/**
 * short life client app user cache (the cache is Optional<ClientAppUser>), so this is not
 * distribute-able
 *
 * @see {@link io.kaif.model.clientapp.ClientAppDao#findClientAppUserWithCache}
 */
@Bean
public CacheManager findClientAppUserCacheManager() {
 CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
   .expireAfterWrite(1, TimeUnit.MINUTES)
   .maximumSize(1000);
 GuavaCacheManager cacheManager = new GuavaCacheManager("findClientAppUser");
 cacheManager.setCacheBuilder(cacheBuilder);
 return cacheManager;
}

代码示例来源:origin: zalando-stups/fullstop

private static CacheManager buildCacheManager(final String spec) {
  final GuavaCacheManager cacheManager = new GuavaCacheManager();
  cacheManager.setCacheBuilderSpec(parse(spec));
  return cacheManager;
}

代码示例来源:origin: zalando-stups/fullstop

private static CacheManager buildCacheManager(final String spec) {
  final GuavaCacheManager cacheManager = new GuavaCacheManager();
  cacheManager.setCacheBuilderSpec(parse(spec));
  return cacheManager;
}

代码示例来源:origin: org.eclipse.hawkbit/hawkbit-autoconfigure

/**
 * @return the direct cache manager to access without tenant aware
 *         check, cause in sometimes it's necessary to access the cache
 *         directly without having the current tenant, e.g. initial
 *         creation of tenant
 */
@Bean(name = "directCacheManager")
@ConditionalOnMissingBean(name = "directCacheManager")
public CacheManager directCacheManager() {
  final GuavaCacheManager cacheManager = new GuavaCacheManager();
  if (cacheProperties.getTtl() > 0) {
    final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder()
        .expireAfterWrite(cacheProperties.getTtl(), cacheProperties.getTtlUnit());
    cacheManager.setCacheBuilder(cacheBuilder);
  }
  return cacheManager;
}

代码示例来源:origin: eclipse/hono

/**
 * Create a new cache provider based on Guava and Spring Cache.
 * 
 * @param config The configuration to use as base for this cache.
 * @return A new cache provider or {@code null} if no cache should be used.
 */
private static CacheProvider newGuavaCache(final RequestResponseClientConfigProperties config) {
  final int minCacheSize = config.getResponseCacheMinSize();
  final long maxCacheSize = config.getResponseCacheMaxSize();
  if (maxCacheSize <= 0) {
    return null;
  }
  final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder()
      .concurrencyLevel(1)
      .initialCapacity(minCacheSize)
      .maximumSize(Math.max(minCacheSize, maxCacheSize));
  final GuavaCacheManager manager = new GuavaCacheManager();
  manager.setAllowNullValues(false);
  manager.setCacheBuilder(builder);
  return new SpringCacheProvider(manager);
}

代码示例来源:origin: org.eclipse.hono/hono-service-base

/**
   * Create a new cache provider based on Guava and Spring Cache.
   * 
   * @param config The configuration to use as base for this cache.
   * @return A new cache provider or {@code null} if no cache should be used.
   */
  private static CacheProvider newGuavaCache(final RequestResponseClientConfigProperties config) {
    final int minCacheSize = config.getResponseCacheMinSize();
    final long maxCacheSize = config.getResponseCacheMaxSize();

    if (maxCacheSize <= 0) {
      return null;
    }

    final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder()
        .concurrencyLevel(1)
        .initialCapacity(minCacheSize)
        .maximumSize(Math.max(minCacheSize, maxCacheSize));

    final GuavaCacheManager manager = new GuavaCacheManager();
    manager.setAllowNullValues(false);
    manager.setCacheBuilder(builder);

    return new SpringCacheProvider(manager);
  }
}

相关文章

微信公众号

最新文章

更多