当前位置: 首页 > 工具软件 > Smart Cache > 使用案例 >

java二级缓存技术_smart-cache Java分布式二级缓存

百里成仁
2023-12-01

smart-cache是基于Ehcache2和Redis实现的Java分布式二级缓存.除基本操作以外实现多机集群时各级缓存的监管和抓取.

将单机缓存以特定结构同步至Redis存储,实现全局缓存统一管理.

编码方式动态创建CacheManager和StoreLocation.摆脱了烦人的ehcache.xml配置文件,同时避免服务重启或不可用时缓存未同步的问题.

使用自身维护的hash数据结构,替换Redis原生的hash类型,实现每个缓存元素过期时间可控.

使用Redis.Topic机制.实现缓存同步.

提供缓存管理监控页面.

实现多机本地缓存抓取功能.

类似Jedis的API,使用简便.

尽可能减少配置和封装,力求精简,够用即可.

使用方式

cmd

mvn clean install -Dmaven.test.skip=true

pom.xml

com.smartgroupId>smart-cacheartifactId>${VERSION}version>dependency>

spring.xml

bean>bean>bean>bean>

代码示例

cacheTemplate.set(name, key, value);// 设置cacheTemplate.get(name, key);// 获取cacheTemplate.del(name, key);// 删除cacheTemplate.rem(name);// 删除name下所有缓存cacheTemplate.cls();// 清空所有缓存cacheTemplate.fetch(name, key);// 抓取集群下所有单机一级缓存cacheTemplate.ttl(name, key, level);// 获取缓存ttlcacheTemplate.names();// 获取所有缓存namecacheTemplate.keys(name);// 获取name下所有keycacheTemplate.size(name);// 获取name下缓存数量cacheTemplate.values(name);// 获取name下缓存值

见:smart-cache/src/test/java/com/smart/cache/App.java

与Spring Cache联用

spring.xml

bean>

pom.xml

com.smartgroupId>smart-cache-autoloadartifactId>${VERSION}version>dependency>

spring.xml

bean>

缓存监控

web.xml

SmartCacheservlet-name>com.smart.servlet.CacheAdminServletservlet-class>usernameparam-name>adminparam-value>init-param>passwordparam-name>adminparam-value>init-param>servlet>SmartCacheservlet-name>/smartcache/*url-pattern>servlet-mapping>

项目演示

监控页面

Showcase.AutoLoadCache

Showcase.Spring Cache

注意: 若修改了序列化方式,务必清空Redis上原缓存数据

完整配置

bean>bean> bean>bean>

见:smart-cache/src/test/java/spring.xml

Redis集群配置

bean> bean> bean> bean> bean> bean>set> constructor-arg> constructor-arg>constructor-arg>constructor-arg>bean>bean>

建议咨询

QQ:20365124 email:[email protected]

 类似资料: