zoukankan      html  css  js  c++  java
  • 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服务窗口)

  • 相关阅读:
    objective-c 自定义归档
    GitHub---最简单的使用
    objective-c 单例
    objective-c 通知(Notification)
    objective-c 谓词
    objective-c KVO
    objective-c KVC
    objective-c 协议(Protocol)和代理(Delegate)
    Xcode一些方便的快捷键
    objective-c 类目(Category)和延展(Extension)
  • 原文地址:https://www.cnblogs.com/huyanlon/p/10239238.html
Copyright © 2011-2022 走看看