CachedManager多实例化

This commit is contained in:
redkale
2024-06-11 00:00:45 +08:00
parent 2ee9dcfeb2
commit c23055a7d3
13 changed files with 281 additions and 726 deletions

View File

@@ -37,26 +37,27 @@ public class CachedManagerTest {
@Test
public void run1() throws Exception {
Duration expire = Duration.ofMillis(290);
manager.localSetString("user", "name:haha", "myha", expire);
Assertions.assertEquals(manager.localGetString("user", "name:haha"), "myha");
manager.localSetString("cached-schema:name:haha", "myha", expire);
Assertions.assertEquals(manager.localGetString("cached-schema:name:haha"), "myha");
Utility.sleep(300);
Assertions.assertTrue(manager.localGetString("user", "name:haha") == null);
Assertions.assertTrue(manager.localGetString("cached-schema:name:haha") == null);
CachingBean bean = new CachingBean();
bean.setName("tom");
bean.setRemark("这是名字备注");
String json = bean.toString();
manager.localSet("user", bean.getName(), CachingBean.class, bean, expire);
manager.localSet(bean.getName(), CachingBean.class, bean, expire);
Assertions.assertEquals(
manager.localGet("user", bean.getName(), CachingBean.class).toString(), json);
manager.localGet(bean.getName(), CachingBean.class).toString(), json);
bean.setRemark(bean.getRemark() + "-新备注");
Assertions.assertEquals(
manager.localGet("user", bean.getName(), CachingBean.class).toString(), json);
manager.localGet(bean.getName(), CachingBean.class).toString(), json);
}
@Test
public void run2() throws Exception {
manager.setSchema("ParallelBean");
int count = 50;
ParallelBean bean = new ParallelBean();
Duration localExpire = Duration.ofMillis(190);
@@ -66,13 +67,7 @@ public class CachedManagerTest {
for (int i = 0; i < count; i++) {
new Thread(() -> {
manager.bothGetSet(
"ParallelBean",
"name",
String.class,
false,
localExpire,
remoteExpire,
() -> bean.getName());
"name", String.class, false, localExpire, remoteExpire, () -> bean.getName());
cdl.countDown();
})
.start();
@@ -81,8 +76,7 @@ public class CachedManagerTest {
}
Assertions.assertEquals(1, ParallelBean.c1.get());
Utility.sleep(200);
manager.bothGetSet(
"ParallelBean", "name", String.class, false, localExpire, remoteExpire, () -> bean.getName());
manager.bothGetSet("name", String.class, false, localExpire, remoteExpire, () -> bean.getName());
Assertions.assertEquals(1, ParallelBean.c1.get());
Utility.sleep(200);
{
@@ -90,13 +84,7 @@ public class CachedManagerTest {
for (int i = 0; i < count; i++) {
new Thread(() -> {
manager.bothGetSet(
"ParallelBean",
"name",
String.class,
false,
localExpire,
remoteExpire,
() -> bean.getName());
"name", String.class, false, localExpire, remoteExpire, () -> bean.getName());
cdl.countDown();
})
.start();

View File

@@ -45,7 +45,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getNameCachedAction1",
schema = "",
manager = "",
key = "name",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -62,7 +62,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getInfoCachedAction2",
schema = "",
manager = "",
key = "info_#{id}_file#{files.one}",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -80,7 +80,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getNameAsyncCachedAction3",
schema = "",
manager = "",
key = "name",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -97,7 +97,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getInfo2AsyncCachedAction4",
schema = "",
manager = "",
key = "info_#{id}_file#{files.one}",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -119,7 +119,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getName2AsyncCachedAction5",
schema = "",
manager = "",
key = "name",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -136,7 +136,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getInfoAsyncCachedAction6",
schema = "",
manager = "",
key = "info_#{id}_file#{files.one}",
nullable = false,
timeUnit = TimeUnit.SECONDS,
@@ -155,7 +155,7 @@ public class _DynLocalCacheInstance extends CachedInstance {
@DynForCached(
dynField = "_redkale_getName2CachedAction7",
schema = "",
manager = "",
key = "name",
nullable = false,
timeUnit = TimeUnit.SECONDS,