springboot 整合GuavaCache缓存

Posted chong-zuo3322

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了springboot 整合GuavaCache缓存相关的知识,希望对你有一定的参考价值。

   缓存的主要作用是暂时在内存中保存业务系统的数据处理结果,并且等待下次访问使用。对于那些频繁需要查询比对的热点数据,我们采用使用缓存。

   GuavaCache是google出品的内存缓存工具。对于数据量较小的,几条,几十条数据,而且需要加缓存的接口较少,建议使用Google提供的guava Cache,它简单易用的同时,性能也好. 而且线程安全。

   GuavaCache和Map的使用方式差不多,put与get存放key和获取值,可以设置存活时间。

    如果存储上千万条数据或进行分布式缓存选择redis。

     

pom.xml配置文件:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-cache</artifactId>
    <version>1.5.9.RELEASE</version>
</dependency>

<dependency>
    <groupId>com.google.guava</groupId>
    <artifactId>guava</artifactId>
    <version>19.0</version>
</dependency>

 

java代码:

/**
 * Copyright (c) 2020, All Rights Reserved.
 *
*/

package com.demo.server.config;

import java.util.concurrent.TimeUnit;

import org.springframework.cache.CacheManager;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cache.guava.GuavaCacheManager;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.google.common.cache.CacheBuilder;


@Configuration
@EnableCaching
public class GuavaCacheConfig {
    
    @Bean
    public CacheManager cacheManager() { 
        GuavaCacheManager cacheManager = new GuavaCacheManager();
        cacheManager.setCacheBuilder(
            CacheBuilder.newBuilder().
            expireAfterWrite(10, TimeUnit.SECONDS). //存活时间10秒
            maximumSize(1000));     //最大线程数
        return cacheManager;
    }

}

 

以上是关于springboot 整合GuavaCache缓存的主要内容,如果未能解决你的问题,请参考以下文章

SpringBoot&Caffeine 灵活支持多个缓存配置策略

SpringBoot 整合 Redis缓存

SpringBoot缓存管理之整合Redis缓存的实现

Shiro整合Springboot缓存之Redis实现

精通SpringBoot--整合Redis实现缓存

Shiro整合Springboot缓存之EhCache实现