当前位置: 首页 > 软件库 > 程序开发 > 缓存系统 >

AutoLoadCache

高效的缓存管理解决方案
授权协议 Apache
开发语言 Java
所属分类 程序开发、 缓存系统
软件类型 开源软件
地区 国产
投 递 者 堵宏毅
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

现在使用的缓存技术很多,比如Redis、 Memcache 、 EhCache等,甚至还有使用ConcurrentHashMap 或 HashTable 来实现缓存。但在缓存的使用上,每个人都有自己的实现方式,大部分是直接与业务代码绑定,随着业务的变化,要更换缓存方案时,非常麻烦。接下来我们就使用AOP + Annotation 来解决这个问题,同时使用自动加载机制 来实现数据“常驻内存”。

设计思想及原理

在infoq 发表的文章《面对缓存,有哪些问题需要思考?》

《再谈缓存的穿透、数据一致性和最终一致性问题》

使用方法

注解(Annotation)说明

分布式锁支持

表达式的应用

缓存删除

Magic模式

注意事项

与Spring Cache的区别

最佳实战

autoload-cache-spring-boot-starter 推荐使用这个,test目录中也有可运行例子。

源码阅读

已经实现基于aspectj 的AOP,代码在com.jarvis.cache.aop.aspectj.AspectjAopInterceptor。想通过阅读代码了解详细细节,可以以此为入口。

注意:有些类get, set, hashCode(), toString() equals()等方法是使用 lombok 自动生成的,所以使用Eclipse 和 IntelliJ IDEA 时,需要先安装lombok。

更新日志

QQ群:429274886

  • 简介 AutoLoadCache 是基于AOP+Annotation等技术实现的高效的缓存管理解决方案,实现缓存与业务逻辑的解耦,并增加异步刷新及“拿来主义机制”,以适应高并发环境下的使用。 使用AOP + Annotation 来解决这个问题,同时使用自动加载机制 来实现数据“常驻内存” —> 跳转官方git 如何使用 本文的自动缓存使用的redis作为缓存技术, 请确保自己系统中的redis能

  • https://www.oschina.net/news/74519/autoloadcache-4-11

  • AutoLoadCache 6.0 已经发布。AutoLoadCache 是基于AOP+Annotation等技术实现的高效的缓存管理解决方案,实现缓存与业务逻辑的解耦,并增加异步刷新及“拿来主义机制”,以适应高并发环境下的使用。新版本更新内容: 增加二级缓存的支持(即本地缓存和分布式缓存)。实现类在:com.jarvis.cache.ComboCacheManager。增加了@LocalCach

  • AutoLoadCache 5.4 发布了。新版本主要增加了两个功能: 增加@CacheDeleteTransactional 注解,用于处理事务下,事务处理完后才删除缓存,避免因事务失败造成缓存中的数据不一致问题。 增加分布式锁支持 本文来自开源中国社区 [http://www.oschina.net]

 相关资料
  • Adobe Bridge 可处理并维护所有音频和视频回放文件的高速缓存。这项功能可以提升回放文件的性能,因为只要您以后想查看这些文件,就可以随时访问。建议您定期清理陈旧和不使用的媒体高速缓存文件,以便优化性能。在删除了高速缓存文件后,如果源媒体需要,则随时可以重新生成相应的高速缓存文件。 设置媒体高速缓存首选项 可执行以下步骤来设置媒体高速缓存首选项: 执行以下操作之一: (Windows) 选择

  • 本文向大家介绍详解Spring整合Ehcache管理缓存,包括了详解Spring整合Ehcache管理缓存的使用技巧和注意事项,需要的朋友参考一下 前言 Ehcache 是一个成熟的缓存框架,你可以直接使用它来管理你的缓存。 Spring 提供了对缓存功能的抽象:即允许绑定不同的缓存解决方案(如Ehcache),但本身不直接提供缓存功能的实现。它支持注解方式使用缓存,非常方便。  本文先通过Ehc

  • Shiro 有三个重要的缓存接口: CacheManager - 负责所有缓存的主要管理组件,它返回 Cache 实例。 Cache - 维护key/value 对。 CacheManagerAware - 通过想要接收和使用 CacheManager 实例的组件来实现。 CacheManager 返回Cache 实例,各种不同的 Shiro 组件使用这些Cache 实例来缓存必要的数据。任何实现

  • 在本章中,我们将研究Joomla Cache Manager 。 您可以安装缓存控制器插件,这有助于提高Joomla的性能。 您还可以关闭特定页面和组件上的缓存。 Joomla缓存管理 以下是用于设置Joomla缓存管理器的简单步骤 - Step (1) - 单击Joomla Global Configuration Cache Management 。 您将看到如下所示的屏幕。 以下是Jooml

  • 理解ElasticSearch缓存 缓存对于已经配置好且正常工作的集群来说不过过多关注(这一条不仅适用于ElasticSearch)。缓存在ElasticSearch中扮演着重要的角色。通过缓存用户可以高效地存储过滤器的数据并且重复使用这些数据,比如高效地处理父子关系数据、faceting、对数据以索引中某个域来排序等等。在本节中,我们将详细研究filter cache和field data ca

  • 借助 Bridge,您可以可靠地管理高速缓存,并能够在协作环境中生成共享高速缓存。使用共享驱动器时,Bridge 中的共享高速缓存机制允许您导入已生成的共享高速缓存并重用它。 注意: 在 Bridge CC 2018 及之前的版本中,高速缓存主要面向在自己的文件夹中工作的个人用户。系统会为每个用户单独生成和维护高速缓存,因此,当您在协作环境(跨网络的共享驱动器、外部硬盘驱动器)中工作时,在每个用户