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;
    }

}

原文地址:https://www.cnblogs.com/chong-zuo3322/p/12319639.html

时间: 2024-11-14 23:11:40

springboot 整合GuavaCache缓存的相关文章

SpringBoot 整合 Redis缓存

在我们的日常项目开发过程中缓存是无处不在的,因为它可以极大的提高系统的访问速度,关于缓存的框架也种类繁多,今天主要介绍的是使用现在非常流行的NoSQL数据库(Redis)来实现我们的缓存需求. SpringBoot整合Redis是非常方便快捷的,我用的是Mybatis,这里就不说Springboot整合Mybatis了网上有很多,同样非常简单. 下面进入正题: 原文地址:https://www.cnblogs.com/yueguanguanyun/p/9756058.html

springboot整合redis缓存一些知识点

前言 最近在做智能家居平台,考虑到家居的控制需要快速的响应于是打算使用redis缓存.一方面减少数据库压力另一方面又能提高响应速度.项目中使用的技术栈基本上都是大家熟悉的springboot全家桶,在springboot2.x以后操作redis的客户端推荐使用lettuce(生菜)取代jedis. jedis的劣势主要在于直连redis,又无法做到弹性收缩. 一.配置文件 application.yml文件中的内容 spring: application: name: simple-lettuc

SpringBoot整合redis缓存(一)

准备工作 1.Linux系统 2.安装redis(也可以安装docker,然后再docker中装redis,本文章就直接用Linux安装redis做演示) redis下载地址:http://download.redis.io/releases/redis-4.0.14.tar.gz 修改redis,开启远程访问 找到redis中的redis.conf文件并编辑(在安装路径中找到) vim ./redis.conf 1.找到bind 127.0.0.1并注释掉 默认127.0.0.1只能本地访问,

Springboot整合ehcache缓存

EhCache是一个比较成熟的Java缓存框架,最早从hibernate发展而来, 是进程中的缓存系统,它提供了用内存,磁盘文件存储,以及分布式存储方式等多种灵活的cache管理方案,快速简单. Springboot对ehcache的使用非常支持,所以在Springboot中只需做些配置就可使用,且使用方式也简易. 在你的项目上配置以下几步即可使用 首先,老规矩,pom.xml加依赖; <!-- Spring Boot 缓存支持启动器 --> <dependency> <gr

springboot整合redis缓存

https://www.jianshu.com/p/a8694d97caaa https://blog.csdn.net/tianyaleixiaowu/article/details/70314277 https://www.cnblogs.com/yuxiang1/p/9282952.html 原文地址:https://www.cnblogs.com/wwmiert/p/11126948.html

缓存springboot整合redis01

eclipse创建springboot要注意,基本的包名一定要与java中的包名一致,这样才能找到springgboot主程序的入口:主程序是在com.lazy.cache;那么test的包也要是com.lazy.cachesrc/main/java com.lazy.cache CacheApplication.javasrc/test/java com.lazy.cahche UserTest.java----注:#开启mybatis驼峰命名,数据字段名与属性名不一致,如:t_id,tId;

SpringBoot整合Shiro 涉及跨域和@Cacheable缓存/@Transactional事务注解失效问题(五)

1. 跨域(多出现在前后端分离项目中) (1) 跨域介绍可参考:跨域(CORS) (2) SpringBoot中解决跨域方式有: A. 使用@CrossOrigin注解: B. 实现Filter类,重写doFilter方法 package com.ruhuanxingyun.config; import cn.hutool.core.util.StrUtil; import org.springframework.context.annotation.Configuration; import

SpringBoot整合Shiro 集成Redis缓存(六)

简介:由于考虑到项目后期分布式部署,所以缓存由ehcache改为redis,而redis既有单机版部署,也有分布式部署,所以二者需要兼容. 1. maven依赖 <dependency> <groupId>org.crazycake</groupId> <artifactId>shiro-redis</artifactId> <version>3.1.0</version> </dependency> 2. 设

SpringBoot系列十二:SpringBoot整合 Shiro

1.概念:SpringBoot 整合 Shiro 2.具体内容 Shiro 是现在最为流行的权限认证开发框架,与它起名的只有最初的 SpringSecurity(这个开发框架非常不好用,但是千万不要 以为 SpringSecurity 没有用处,它在 SpringCloud 阶段将发挥重大的作用).但是现在如果要想整合 Shiro 开发框架有一点很遗憾, SpringBoot 没有直接的配置支持,它不像整合所谓的 Kafka.Redis.DataSource,也就是说如果要想整合 Shiro 开