# springboot_cache **Repository Path**: aa51513/springboot_ignite_cache ## Basic Information - **Project Name**: springboot_cache - **Description**: 工程整合了springcache 和ignite 可以很方便的配置多种模式的缓存。包括本地缓存,分布式缓存。分布式缓存有分片模式和复制模式可供选择,分布式缓存自动发现节点。同时支持缓存的区块配置以及时间配置。使用只需要引jar 包即可,欢迎贡献代码。工程提供了可视化界面管理已有缓存。 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2020-05-14 - **Last Updated**: 2024-07-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目结构: spring_ignite_cahce: ignite_cache_core springcahe ignite 集成代码 ignite_cache_demo ignite_cache_core 使用实例 ### ignite_cache_core 使用流程: **step1:** 下载或检出本项目。mvn clean install 把工程打成jar包。 **step2:** 找到出子工程ignite_cache_core打包后target目录下打出的jar包,直接作为工程引用或者安装到本地mvn仓库后引用。 **step3:** 在自己的springboot 工程中添加 igniteCache.properties 配置文件,示例文件示例配置如下: #设置当前项目是不是只使用客户端模式,本工程不开启ignite缓存服务。 单节点引用设置为false。多节点根据需求设定。 ignite.configuration.properties.clientMode=false #配置缓存节点自动发现范围区间 ignite.configuration.properties.ipDiscoveryRange=127.0.0.1:47500..47509 ignite.configuration.properties.peerClassLoadingEnabled=true #通过定义数组的方式来配置不同缓存 。建议以不同对象。或者不同存放时间属性用来区分。 #Name:缓存名称 , #expireTime:过期时间 单位时间 秒, #cacheMode:缓存模式 LOCAL(本地)、REPLICATED(复制)、PARTITIONED(分片). ignite.cache.properties[0]={"name":"default","expireTime":"3600","cacheMode":"REPLICATED"} ignite.cache.properties[1]={"name":"sysUser","expireTime":"300","cacheMode":"REPLICATED"} **step4:** 在需要被缓存的类上添加上缓存注解。示例如下: ``` @Service @CacheConfig(cacheNames = "sysUser") public class UserBizCacheDemo { private static final String KEY_ALL = "'sysUser-*'"; @Cacheable(key = KEY_ALL) public List getAll() { } @Caching(evict = {@CacheEvict(key = KEY_ALL)}) @CacheEvict(key="#user.id") public Integer delete(Integer userId) { } } ``` **step5:** 在springboot 启动类上加入包扫描 @ComponentScan(basePackages={"com.项目启动包的位置","com.john.cache"}) ### ignite_cache_Demo 演示: 实例使用h2内置数据库 已包含数据库脚本。无需额外搭建数据库 **step1:** 编译完成后运行Application.java 启动工程 **step2:** 访问http://localhost:8089/user/all 把数据加载到缓存 **step3:** 通过缓存管理界面查询缓存 ![查询用户列表缓存](https://gitee.com/uploads/images/2018/0208/185523_2faf3f9e_588704.png "alls.png") **step4:** 访问用户更新接口清除缓存 http://localhost:8089/user/update/0 并插入新缓存: 用户列表缓存已被清空 ![用户列表缓存已被清空](https://gitee.com/uploads/images/2018/0208/185953_2a6f282b_588704.png "update2.png") 查询刚更新的用户接口 ![查询刚更新的用户接口](https://gitee.com/uploads/images/2018/0208/190036_29c37bab_588704.png "update3.png") 更多?请自行尝试。 ### 请老弟喝杯矿泉水? ![输入图片说明](https://gitee.com/uploads/images/2018/0209/100430_af12ba88_588704.png "111.png") 碰到不懂可以问我:qq 1872300100