zoukankan      html  css  js  c++  java
  • Java缓存

    作用:加速系统访问、提升系统性能

    (1)、JSR107

      Java Caching定义了5个核心接口,分别是CachingProvider、CacheManager、Cache、Entry、Expiry

    1.   CachingProvider(缓存提供者)定义了创建、配置、获取、管理和控制多个CacheManager,一个应用可以在运行期间访问多个CachingProvider。
    2.        CacheManager(缓存管理器)定义了创建、配置、获取、管理和控制多个唯一命名的Cache,这些Cache存在于CacheManager的上下文中,一个CacheManager仅被一               个CachingProvider所拥有。
    3.        Cache(缓存)是一个类似Map的数据结构并临时存储以Key为索引的值,一个Cache仅被一个CacheManager所拥有。
    4.        Entry是一个存储在Cache中的Key-Value对。
    5.        Expiry  每一个存储在Cache中的条目有一个定义的有效期,一旦超过这个时间,条目为过期的状态,一旦过期,条目将不可访问、更新和删除,缓存的有效期可以通过                   ExpiryPolicy设置

    (2) Spring的缓存抽象接口

      Spring从3.1开始定义了org.springframework.cache.Cache和org.springframework.cache.CacheManager接口来统一不同的缓存技术,支持使用JCache(JSR107)注解来简化开发

      Spring提供了各种xxxCache的实现,例如RedisCache、EhCacheCache、ConcurrentMapcache

      使用Sorubg的缓存我们要关注以下两点:

    1. 确定方法需要被缓存以及缓存策略
    2. 从缓存中读取之前缓存读取的数据

    (3)几个重要概念及缓存注解

    • Cache  缓存接口,定义缓存操作
    • CacheManager  缓存管理器,管理各种缓存组件
    • @Cacheable  一般用于查询方法,能够根据方法的请求参数对其结果进行缓存,在方法运行之前调用
    • @CacheEvict   一般用于删除方法,清空数据。
    • @CachePut  一般用于更新方法,方法调用后对结果进行缓存
    • @EnableCaching  开启基于注解的缓存
    • keyGenerator  缓存数据时Key的生成策略
    • serialize  缓存数据时Value序列化策略

        

  • 相关阅读:
    点击链接,取得href的值,但是不转向
    启动和停止MySQL服务
    QuickText for Notepad++
    otepad++ 配置 支持jquery、html、css、javascript、php代码提示
    windows 2008+IIS7+Mysql+PHP5.5 + FastCGI环境配置
    Jquery异步请求数据实例代码
    JS读取本地文件及目录的方法
    c#.net从ftp下载文件到本地
    怎样才能充分利用SQL索引
    jQuery EasyUI Datagrid性能优化专题
  • 原文地址:https://www.cnblogs.com/fanqisoft/p/10350723.html
Copyright © 2011-2022 走看看