SpringBoot的缓存

1、引入jar包

  

<!--缓存-->
    <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-cache</artifactId>
        </dependency>

 .properties配置文件配置(xml中):

#J2Cache configuration

#########################################
# Cache Broadcast Method
# values:
# redis -> use redis publish/subscribe mechanism (using jedis)
# lettuce -> use redis publish/subscribe mechanism (using lettuce)
# jgroups -> use jgroups's multicast
# rabbitmq -> use RabbitMQ publisher/consumer mechanism
# rocketmq -> use RocketMQ publisher/consumer mechanism
# none -> don't notify the other nodes in cluster
# xx.xxxx.xxxx.Xxxxx your own cache broadcast policy classname that implement net.oschina.j2cache.cluster.ClusterPolicy
#########################################

#j2cache.broadcast = redis
j2cache.broadcast = com.jeesite.common.j2cache.cache.support.redis.SpringRedisPubSubPolicy

#########################################
# Cache Clean Mode
# active -> 主动清除,二级缓存过期主动通知各节点清除,优点在于所有节点可以同时收到缓存清除
# passive -> 被动清除,一级缓存过期进行通知各节点清除一二级缓存
# blend -> 两种模式一起运作,对于各个节点缓存准确以及及时性要求高的可以使用,正常用前两种模式中一个就可
#########################################

j2cache.broadcast.cache_clean_mode = passive

#########################################
# Level 1&2 provider
# values:
# none -> disable this level cache
# ehcache -> use ehcache2 as level 1 cache
# ehcache3 -> use ehcache3 as level 1 cache
# caffeine -> use caffeine as level 1 cache(only in memory)
# redis -> use redis as level 2 cache (using jedis)
# lettuce -> use redis as level 2 cache (using lettuce)
# readonly-redis -> use redis as level 2 cache ,but never write data to it. if use this provider, you must uncomment `j2cache.L2.config_section` to make the redis configurations available.
# memcached -> use memcached as level 2 cache (xmemcached),
# [classname] -> use custom provider
#########################################

j2cache.L1.provider_class = caffeine
#j2cache.L2.provider_class = redis
j2cache.L2.provider_class = com.jeesite.common.j2cache.cache.support.redis.SpringRedisProvider

# When L2 provider isn't `redis`, using `L2.config_section = redis` to read redis configurations
j2cache.L2.config_section = redis

# Enable/Disable ttl in redis cache data (if disabled, the object in redis will never expire, default:true)
# NOTICE: redis hash mode (redis.storage = hash) do not support this feature)
j2cache.sync_ttl_to_redis = true

# Whether to cache null objects by default (default false)
j2cache.default_cache_null_object = true

#########################################
# Cache Serialization Provider
# values:
# fst -> using fast-serialization (recommend)
# kyro -> using kyro serialization
# json -> using fst's json serialization (testing)
# fastjson -> using fastjson serialization (embed non-static class not support)
# java -> java standard
# [classname implements Serializer]
#########################################

j2cache.serialization = fst

#########################################
# Caffeine configuration
# caffeine.region.[name] = size, xxxx[s|m|h|d]
#########################################

#caffeine.properties = /config/caffeine.properties
caffeine.region.default = 10000, 1h
caffeine.region.sessionCache = 100000, 30m

#########################################
# Redis connection configuration
#########################################

#redis storage mode (generic|hash)
redis.storage = hash

## redis pub/sub channel name
redis.channel = j2cache
## redis pub/sub server (using redis.hosts when empty)
redis.channel.host =

## redis cache namespace optional, default[j2cache]
redis.namespace = jeesite

 

2、代码应用

  类前加注解  @CacheConfig(cacheNames = {"comCodes","cardSubType"})  一个方法对应数组中的一个元素,多个方法则对应多个元素

  方法前加注解  @Cacheable(cacheNames = {"comCode"})

3、服务器中需要启用Redis服务,网上下载Redis-x64-3.2.100.zip(我自己使用的是3.2.100版本)并解压,点击redis-server.exe启动缓存即可(服务运行期间,切勿关闭redis-server服务窗口)

 

posted on 2019-01-08 15:28  sometimes-ever  阅读(500)  评论(0)    收藏  举报

导航