## 使用方法 ### 1. Maven dependency: ```xml com.github.qiujiayu autoload-cache ${version} ``` ### 2. [AutoLoadConfig 配置说明](AutoLoadConfig.md) ### 3. 序列化工具: 序列化工具主要用于深度复杂,以及缓存中数据与Java对象的转换。框架中已经实现如下几种序列化工具: 1. com.jarvis.cache.serializer.HessianSerializer 基于Hessian2序列化工具 2. com.jarvis.cache.serializer.JdkSerializer JDK自带序列化工具 3. com.jarvis.cache.serializer.FastjsonSerializer 基于Fastjson序列化工具,使用Fastjson时需要注意:返回值中如果是泛型的话,需要指明具体的类型,比如:List,如果是直接返回List则会出错。 如果希望对比较长的数据进行压缩处理后再传到分布式缓存服务器的话,可以使用com.jarvis.cache.serializer.CompressorSerializer 进行处理。支持GZIP,BZIP2,XZ,PACK200,DEFLATE,等几种压缩算法(默认使用GZIP)。 如果需要使用其它序列化工具,可以通过实现com.jarvis.cache.serializer.ISerializer来扩展(比如:Kryo和FST等)。 ```xml ``` ### 4. 表达式解析器 缓存Key及一些条件表达式,都是通过表达式与Java对象进行交互的,框架中已经内置了使用Spring El和Javascript两种表达的解析器,分别的:com.jarvis.cache.script.SpringELParser 和 com.jarvis.cache.script.JavaScriptParser,如果需要扩展,需要继承com.jarvis.cache.script.AbstractScriptParser 这个抽象类。 ```xml ``` ### 5.缓存配置 框架已经支持 Redis、Memcache以及ConcurrentHashMap 三种缓存: * [Redis 配置](JRedis.md) * [Memcache 配置](Memcache.md) * [ConcurrentHashMap 配置](ConcurrentHashMap.md) * [二级缓存请参考ComboCacheManager.java](../autoload-cache-core/src/main/java/com/jarvis/cache/ComboCacheManager.java) ### 6.缓存处理器 ```xml ``` ### 7.AOP 配置: ```xml ``` 如果不同的数据,要使用不同的缓存的话,可以通过配置多个AOP来进行共区分。 ### 8. 在需要使用缓存操作的方法前增加 @Cache和 @CacheDelete注解 更多的配置可以参照 [autoload-cache-spring-boot-starter](https://github.com/qiujiayu/autoload-cache-spring-boot-starter) 推荐使用这个,[test目录](https://github.com/qiujiayu/autoload-cache-spring-boot-starter/tree/master/src/test)中也有可运行例子。 [Spring 实例代码](https://github.com/qiujiayu/cache-example),基于Spring XML进行配置 [Spring boot 实例代码](https://github.com/qiujiayu/autoload-cache-spring-boot-starter/tree/master/src/test) 以上配置是基于 Spring 的配置,如果是使用nutz,请参照 [AutoLoadCache-nutz](https://github.com/qiujiayu/AutoLoadCache-nutz) 中的说明。