CacheSource

This commit is contained in:
redkale
2023-12-27 11:04:02 +08:00
parent 0840f04847
commit fb321c58a7
3 changed files with 22 additions and 21 deletions

View File

@@ -43,7 +43,7 @@ public class CacheAction {
//Supplier对象的类型
private final Type resultType;
//对象是否异步
//缓存方法是否异步
private final boolean async;
//是否可以缓存null
@@ -72,10 +72,10 @@ public class CacheAction {
//缓存的key
private MultiHashKey dynKey;
//本地缓存过期时长
//本地缓存过期时长Duration.ZERO为永不过期为null表示不本地缓存
private Duration localExpire;
//远程缓存过期时长
//远程缓存过期时长Duration.ZERO为永不过期为null表示不远程缓存
private Duration remoteExpire;
CacheAction(CacheEntry cached, Type returnType, Class serviceClass, Class[] paramTypes,
@@ -131,6 +131,7 @@ public class CacheAction {
+ ",\"fieldName\":\"" + fieldName + "\""
+ ",\"paramTypes\":" + JsonConvert.root().convertTo(paramTypes)
+ ",\"paramNames\":" + JsonConvert.root().convertTo(paramNames)
+ ",\"resultType\":\"" + resultType + "\""
+ ",\"cache\":" + cached
+ "}";
}

View File

@@ -479,13 +479,13 @@ public final class CacheMemorySource extends AbstractCacheSource {
}
@Override
public <T> void setpx(String key, long milliSeconds, Convert convert, Type type, T value) {
public <T> void psetex(String key, long milliSeconds, Convert convert, Type type, T value) {
set0(key, milliSeconds, convert, type, value);
}
@Override
public <T> CompletableFuture<Void> setpxAsync(String key, long milliSeconds, Convert convert, Type type, T value) {
return runFuture(() -> setpx(key, milliSeconds, convert, type, value));
public <T> CompletableFuture<Void> psetexAsync(String key, long milliSeconds, Convert convert, Type type, T value) {
return runFuture(() -> psetex(key, milliSeconds, convert, type, value));
}
@Override

View File

@@ -214,20 +214,20 @@ public interface CacheSource extends Resourcable {
setex(key, expireSeconds, Long.class, value);
}
default <T> void setpx(String key, long milliSeconds, Convert convert, Type type, T value) {
setpxAsync(key, milliSeconds, convert, type, value).join();
default <T> void psetex(String key, long milliSeconds, Convert convert, Type type, T value) {
psetexAsync(key, milliSeconds, convert, type, value).join();
}
default <T> void setpx(String key, long milliSeconds, Type type, T value) {
setpx(key, milliSeconds, (Convert) null, type, value);
default <T> void psetex(String key, long milliSeconds, Type type, T value) {
psetex(key, milliSeconds, (Convert) null, type, value);
}
default void setpxString(String key, long milliSeconds, String value) {
setpx(key, milliSeconds, String.class, value);
default void psetexString(String key, long milliSeconds, String value) {
psetex(key, milliSeconds, String.class, value);
}
default void setpxLong(String key, long milliSeconds, long value) {
setpx(key, milliSeconds, Long.class, value);
default void psetexLong(String key, long milliSeconds, long value) {
psetex(key, milliSeconds, Long.class, value);
}
//------------------------ setnxex ------------------------
@@ -1137,18 +1137,18 @@ public interface CacheSource extends Resourcable {
return setexAsync(key, expireSeconds, Long.class, value);
}
public <T> CompletableFuture<Void> setpxAsync(String key, long milliSeconds, Convert convert, Type type, T value);
public <T> CompletableFuture<Void> psetexAsync(String key, long milliSeconds, Convert convert, Type type, T value);
default <T> CompletableFuture<Void> setpxAsync(String key, long milliSeconds, Type type, T value) {
return setpxAsync(key, milliSeconds, (Convert) null, type, value);
default <T> CompletableFuture<Void> psetexAsync(String key, long milliSeconds, Type type, T value) {
return psetexAsync(key, milliSeconds, (Convert) null, type, value);
}
default CompletableFuture<Void> setpxStringAsync(String key, long milliSeconds, String value) {
return setpxAsync(key, milliSeconds, String.class, value);
default CompletableFuture<Void> psetexStringAsync(String key, long milliSeconds, String value) {
return psetexAsync(key, milliSeconds, String.class, value);
}
default CompletableFuture<Void> setpxLongAsync(String key, long milliSeconds, long value) {
return setpxAsync(key, milliSeconds, Long.class, value);
default CompletableFuture<Void> psetexLongAsync(String key, long milliSeconds, long value) {
return psetexAsync(key, milliSeconds, Long.class, value);
}
//------------------------ setnxex ------------------------