resty的缓存技术设计及使用

 更新时间:2022年03月07日 15:48:01   作者:Dreampie  
这篇文章主要为大家介绍了resty缓存技术的设计及使用示例,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步

resty的缓存设计极其简单,目前分为两部分,model数据缓存和session缓存,第3条使用权限控制时,session被存入缓存,便于实现分布式,支持 ehcache和 redis

1. 在application.properties里启用缓存,并配置缓存对象

app.cacheEnabled=true
#如果不配置cacheManager对象,默认使用ehcacheManager
#app.cacheManager=cn.dreampie.cache.redis.RedisManager

2. 在resources下配置缓存文件

ehcache.xml

<ehcache name="shiro" updateCheck="false" monitoring="autodetect"
         dynamicConfig="true">
  <diskStore path="java.io.tmpdir/resty-ehcache"/>

  <defaultCache
      maxElementsInMemory="10000"
      eternal="false"
      timeToIdleSeconds="360"
      timeToLiveSeconds="360"
      overflowToDisk="false"
      diskPersistent="false"
      diskExpiryThreadIntervalSeconds="120"/>

  <cache name="_credential"
         maxElementsInMemory="10000"
         eternal="false"
         timeToIdleSeconds="1200"
         overflowToDisk="false"
         diskPersistent="false"
         diskExpiryThreadIntervalSeconds="120"/>

  <!--session 缓存永久的 程序自动清理过期的数据-->
  <cache name="_session"
         maxElementsInMemory="10000"
         eternal="true"
         overflowToDisk="true"
         diskPersistent="true"
         diskExpiryThreadIntervalSeconds="120"/>

</ehcache>

redis.properties

redis.host=127.0.0.1:6379
#如果使用ShardInfo 逗号分割
#redis.shard.host=127.0.0.1:6379,127.0.0.1:6379
redis.timeout=0
redis.pool.maxWaitMillis=-1
redis.pool.minEvictableIdleTimeMillis=1800000

3. 在Model的table配置中,Record的构造参数开启缓存

//model
@Table(name = "sec_user",generatedKey="id", primaryKey = "sid", cached = true)
//record
Record recordDAO = new Record("sec_user", true);

以上就是resty的缓存技术设计及使用的详细内容,更多关于resty缓存设计使用的资料请关注脚本之家其它相关文章!

相关文章

  • Java设计模式之java策略模式详解

    Java设计模式之java策略模式详解

    这篇文章主要介绍了Java经典设计模式之策略模式,简单说明了策略模式的概念、原理并结合实例形式分析了java策略模式的具有用法与相关注意事项,需要的朋友可以参考下
    2021-09-09
  • Java设计模式之装饰者模式详解

    Java设计模式之装饰者模式详解

    这篇文章主要为大家详细介绍了java设计模式之装饰者模式,装饰者模式是一种结构式模式,感兴趣的朋友可以参考一下
    2021-10-10
  • java无限递归遍历json对象问题

    java无限递归遍历json对象问题

    这篇文章主要介绍了java无限递归遍历json对象问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 关于mybatis if else if 条件判断SQL片段表达式取值和拼接问题

    关于mybatis if else if 条件判断SQL片段表达式取值和拼接问题

    这篇文章主要介绍了mybatis if else if 条件判断SQL片段表达式取值和拼接,文章通过自己真实使用的例子给大家详细介绍,需要的朋友可以参考下
    2021-09-09
  • 解析Tars-Java客户端源码

    解析Tars-Java客户端源码

    Tars是基于名字服务使用Tars协议的高性能RPC开发框架,同时配套一体化的服务治理平台,帮助个人或者企业快速的以微服务的方式构建自己稳定可靠的分布式应用
    2021-06-06
  • Java8在遍历集合时删除元素问题解决

    Java8在遍历集合时删除元素问题解决

    本文主要介绍了Java8在遍历集合时删除元素问题解决,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 举例讲解Java中的多线程编程

    举例讲解Java中的多线程编程

    这篇文章主要介绍了举例讲解Java中的多线程编程,线程是Java学习中的重要知识,需要的朋友可以参考下
    2015-09-09
  • MyBatis学习教程(七)-Mybatis缓存介绍

    MyBatis学习教程(七)-Mybatis缓存介绍

    MyBatis缓存分为一级缓存和二级缓存一级缓存,本文给大家介绍mybatis缓存知识,非常不错具有参考借鉴价值,感兴趣的朋友一起学习吧
    2016-05-05
  • Java内存模型及其作用详解

    Java内存模型及其作用详解

    在现代计算机系统中,尤其是多处理器架构下,每个处理器都有自己的高速缓存,而主内存(RAM)是所有处理器共享的数据存储区域,这篇文章主要介绍了深入理解Java内存模型及其作用,需要的朋友可以参考下
    2024-04-04
  • 关于Spring中一级缓存、二级缓存和三级缓存的那些事

    关于Spring中一级缓存、二级缓存和三级缓存的那些事

    Spring解决循环依赖的核心思想在于提前曝,下面这篇文章主要给大家介绍了关于Spring中一级缓存、二级缓存和三级缓存的那些事,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-02-02

最新评论