# autoCache.enabled **Repository Path**: chenhys/autoCache.enabled ## Basic Information - **Project Name**: autoCache.enabled - **Description**: 一款使用redis缓存的解决方案,非常方便的实现缓存功能与业务逻辑解耦。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2018-02-22 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ruubypay.autoCache.enabled =============================== 缓存功能注解化。 应用场景: 适合拿redis作为缓存使用的服务。 不适合使用redis做计算的服务。 导入maven依赖 com.ruubypay.middlleware ruubypay-autoCache-enabled 1.0.0 ### 使用Demo: @CacheEnabled(expire = 1200,key="'user_id_key_'+#args[0]") public User getUser(Integer userId){ return userMapper.getUser(userId); } @CacheEnabled(expire = 1200,key="'user_id_key_'+#args[0].id") public User getUser(User user){ return userMapper.getUser(user); } ##### 上面的代码演示了缓存使用的简易功能,只要在接口上加上注解,就可以从缓存中拿数据,避免命中数据库。 @CacheDeleteSlice(value={@CacheDeleteByKey(value = {"'user_id_key_'+#args[0].id")}) public int saveOrUpdateUser(User user){ return userMapper.updateUser(user); } @CacheDeleteSlice(value={@CacheDeleteByKey(value = {"'user_id_key_'+#args[0].id","'user_id_key_'+#args[0].name")}) public int deleteUser(User user){ return userMapper.updateUser(user); } ##### 上面的代码演示了淘汰缓存的简易功能,只要在接口上加上注解,就能淘汰缓存,尽量避免数据不一致的场景产生,同时,支持根据多个key匹配删除 功能模快 ----------------------- #### [多种序列化方式](./doc/seralizer.md) #### [表达式解析器](./doc/express.md) #### [redis配置](./doc/cache.md) #### [参数配置及注意事项](doc/cacheconfig.md) #### [一个详细的使用配置-Spring.xml配置的方式](./doc/example.md) #### [分布式锁支持](./doc/distributelock.md) #### [注解参数详解](./doc/detail.md) ## [最佳实践](./doc/bestPractice.md)