diff --git a/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheAopConfigure.java b/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheAopConfigure.java index 21183e9334bf879fd1b2733f266f8b801a83152e..7c7bb2ab749547acc67e8a427688a17cb153e817 100644 --- a/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheAopConfigure.java +++ b/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheAopConfigure.java @@ -10,6 +10,7 @@ import org.nutz.plugins.wkcache.annotation.CacheRemoveAll; import org.nutz.plugins.wkcache.annotation.CacheResult; import org.nutz.plugins.wkcache.annotation.CacheUpdate; + import java.lang.annotation.Annotation; import java.lang.reflect.Method; import java.util.ArrayList; diff --git a/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheRemoveAllInterceptor.java b/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheRemoveAllInterceptor.java index c6b8e5cdee3935e0a412e75f00eab0e11f5bb906..7a2a9f9ebef85e9c2a19441f01df5430fed6706a 100644 --- a/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheRemoveAllInterceptor.java +++ b/nutz-plugins-wkcache/src/main/java/org/nutz/plugins/wkcache/WkcacheRemoveAllInterceptor.java @@ -24,9 +24,13 @@ public class WkcacheRemoveAllInterceptor extends AbstractWkcacheInterceptor { .getAnnotation(CacheDefaults.class); cacheName = cacheDefaults != null ? cacheDefaults.cacheName() : "wk"; } - Set set = redisService().keys((cacheName + ":*").getBytes()); - for (byte[] it : set) { - redisService().del(it); + for (String s : cacheName.split(",")) { + if (Strings.isNotBlank(s)) { + Set set = redisService().keys((s + ":*").getBytes()); + for (byte[] it : set) { + redisService().del(it); + } + } } chain.doChain(); } diff --git a/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/MyCacheTest.java b/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/MyCacheTest.java index 4f935d6aef9f368b9a8d1e66f5aec713c5e4751d..443db464520556fe3e2e1a84d1960ff6114efd2a 100644 --- a/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/MyCacheTest.java +++ b/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/MyCacheTest.java @@ -21,6 +21,11 @@ public class MyCacheTest { return txt; } + @CacheResult(cacheName = "cache_time_3",cacheKey = "test") + public Object cache_time_3(String txt) { + return txt; + } + @CacheResult(cacheKey = "test") public Object testCache(String txt) { return txt; @@ -36,6 +41,24 @@ public class MyCacheTest { System.out.println("我被执行了..."); return test; } + @CacheResult(cacheName = "cache_time_1",cacheKey = "${test.id}_${test.name}") + public Object testCacheObj1(TestBean test) { + System.out.println("我被执行了1..."); + return test; + } + + @CacheResult(cacheName = "cache_time_2",cacheKey = "${test.id}_${test.name}") + public Object testCacheObj2(TestBean test) { + System.out.println("我被执行了2..."); + return test; + } + @CacheResult(cacheName = "cache_time_3",cacheKey = "${test.id}_${test.name}") + public Object testCacheObj3(TestBean test) { + System.out.println("我被执行了3..."); + return test; + } + + @CacheResult public Object testCacheList(List test) { @@ -58,7 +81,7 @@ public class MyCacheTest { } - @CacheRemoveAll() + @CacheRemoveAll(cacheName = "cache_time_1,cache_time_3;cache_time_2") public void testRemoveAll() { } diff --git a/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/WkcacheTest.java b/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/WkcacheTest.java index 76e798b3dd79a893238c0ed27ea977b73f00b6e5..a9c49b63ceae734ba877e6264195afbbcf1475ef 100644 --- a/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/WkcacheTest.java +++ b/nutz-plugins-wkcache/src/test/java/org/nutz/plugins/wkcache/test/WkcacheTest.java @@ -24,21 +24,29 @@ public class WkcacheTest extends Assert { conf.put("wkcache.nutzwk_cache", "1800"); conf.put("wkcache.cache_time_1", "18000"); conf.put("wkcache.cache_time_2", "28000"); + conf.put("redis.password", "123456"); ioc.getIocContext().save("app", "conf", new ObjectProxy(conf)); assertTrue(ioc.getNames().length > 0); log.debug(ioc.get(MyCacheTest.class).testCache("wizzer.cn")); // ioc.get(MyCacheTest.class).testRemove(); -// log.debug(ioc.get(MyCacheTest.class).testCache("大鲨鱼最帅")); -// ioc.get(MyCacheTest.class).testRemoveAll(); -// log.debug(ioc.get(MyCacheTest.class).testCacheEl("el")); + log.debug(ioc.get(MyCacheTest.class).testCache("大鲨鱼最帅")); + ioc.get(MyCacheTest.class).testRemoveAll(); + log.debug(ioc.get(MyCacheTest.class).cache_time_1("大鲨鱼最帅")); + log.debug(ioc.get(MyCacheTest.class).cache_time_2("大鲨鱼最帅2")); + log.debug(ioc.get(MyCacheTest.class).cache_time_3("大鲨鱼最帅3")); +// + TestBean test = new TestBean(); test.setId("abc"); test.setName("def"); - for (int i = 0; i < 1000; i++) - log.debug(ioc.get(MyCacheTest.class).testCacheObj(test)); -// ioc.get(MyCacheTest.class).testRemove(test); - ioc.get(MyCacheTest.class).cache_time_1("hello1"); - ioc.get(MyCacheTest.class).cache_time_2("hello2"); +// for (int i = 0; i < 1000; i++) +// log.debug(ioc.get(MyCacheTest.class).testCacheObj(test)); + log.debug(ioc.get(MyCacheTest.class).testCacheObj1(test)); + log.debug(ioc.get(MyCacheTest.class).testCacheObj2(test)); + log.debug(ioc.get(MyCacheTest.class).testCacheObj3(test)); + ioc.get(MyCacheTest.class).testRemoveAll(); +// ioc.get(MyCacheTest.class).cache_time_1("hello1"); +// ioc.get(MyCacheTest.class).cache_time_2("hello2"); }