diff --git a/src/main/java/module-info.java b/src/main/java/module-info.java index 28ec122fe..14ac49b8a 100644 --- a/src/main/java/module-info.java +++ b/src/main/java/module-info.java @@ -33,9 +33,10 @@ module redkale { exports org.redkale.util; exports org.redkale.watch; - uses org.redkale.mq.MessageAgent; - uses org.redkale.cluster.ClusterAgent; + uses org.redkale.boot.PropertiesAgentProvider; + uses org.redkale.cluster.ClusterAgentProvider; uses org.redkale.convert.ConvertProvider; + uses org.redkale.mq.MessageAgentProvider; uses org.redkale.source.CacheSourceProvider; uses org.redkale.source.DataSourceProvider; uses org.redkale.util.ResourceAnnotationProvider; diff --git a/src/main/java/org/redkale/source/CacheMemorySource.java b/src/main/java/org/redkale/source/CacheMemorySource.java index 239c9e229..fb953c6ca 100644 --- a/src/main/java/org/redkale/source/CacheMemorySource.java +++ b/src/main/java/org/redkale/source/CacheMemorySource.java @@ -1485,6 +1485,26 @@ public final class CacheMemorySource extends AbstractCacheSource { return CompletableFuture.runAsync(() -> setBytes(key, value), getExecutor()).whenComplete(futureCompleteConsumer); } + @Override + public void setnxBytes(final String key, final byte[] value) { + setnx(CacheEntryType.BYTES, key, value); + } + + @Override + public CompletableFuture setnxBytesAsync(final String key, byte[] value) { + return CompletableFuture.runAsync(() -> setnxBytes(key, value), getExecutor()).whenComplete(futureCompleteConsumer); + } + + @Override + public void setnxBytes(final String key, final Convert convert, final Type type, final T value) { + setnx(CacheEntryType.BYTES, key, convert.convertToBytes(type, value)); + } + + @Override + public CompletableFuture setnxBytesAsync(final String key, final Convert convert, final Type type, final T value) { + return CompletableFuture.runAsync(() -> setnxBytes(key, convert, type, value), getExecutor()).whenComplete(futureCompleteConsumer); + } + @Override public void setexBytes(final String key, final int expireSeconds, final byte[] value) { set(CacheEntryType.BYTES, expireSeconds, key, value); diff --git a/src/main/java/org/redkale/source/CacheSource.java b/src/main/java/org/redkale/source/CacheSource.java index af7408dc6..b0e6f78bc 100644 --- a/src/main/java/org/redkale/source/CacheSource.java +++ b/src/main/java/org/redkale/source/CacheSource.java @@ -89,7 +89,9 @@ public interface CacheSource extends Resourcable { public void setnxLong(final String key, final long value); - public void setexLong(final String key, final int expireSeconds, final long value); + public void setnxBytes(final String key, final byte[] value); + + public void setnxBytes(final String key, final Convert convert, final Type type, final T value); //------------------------ setex ------------------------ public void setex(final String key, final int expireSeconds, final Convert convert, final T value); @@ -100,6 +102,8 @@ public interface CacheSource extends Resourcable { public void setexString(final String key, final int expireSeconds, final String value); + public void setexLong(final String key, final int expireSeconds, final long value); + public void setexBytes(final String key, final int expireSeconds, final byte[] value); public void setexBytes(final String key, final int expireSeconds, final Convert convert, final Type type, final T value); @@ -344,6 +348,10 @@ public interface CacheSource extends Resourcable { public CompletableFuture setnxLongAsync(final String key, long value); + public CompletableFuture setnxBytesAsync(final String key, final byte[] value); + + public CompletableFuture setnxBytesAsync(final String key, final Convert convert, final Type type, final T value); + //------------------------ setexAsync ------------------------ public CompletableFuture setexAsync(final String key, final int expireSeconds, final Convert convert, final T value);