CacheKeyGenerator
This commit is contained in:
@@ -106,7 +106,7 @@ public class CacheAction {
|
|||||||
this.keyGenerator = resourceFactory.findChild(generatorName, CacheKeyGenerator.class);
|
this.keyGenerator = resourceFactory.findChild(generatorName, CacheKeyGenerator.class);
|
||||||
} else {
|
} else {
|
||||||
MultiHashKey dynKey = MultiHashKey.create(paramNames, key);
|
MultiHashKey dynKey = MultiHashKey.create(paramNames, key);
|
||||||
this.keyGenerator = (t, a, args) -> dynKey.keyFor(args);
|
this.keyGenerator = CacheKeyGenerator.create(dynKey);
|
||||||
}
|
}
|
||||||
this.remoteExpire = createDuration(cached.getRemoteExpire());
|
this.remoteExpire = createDuration(cached.getRemoteExpire());
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,6 +4,9 @@
|
|||||||
|
|
||||||
package org.redkale.cache.spi;
|
package org.redkale.cache.spi;
|
||||||
|
|
||||||
|
import java.util.Objects;
|
||||||
|
import org.redkale.util.MultiHashKey;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 缓存key生成器
|
* 缓存key生成器
|
||||||
*
|
*
|
||||||
@@ -33,7 +36,25 @@ public interface CacheKeyGenerator {
|
|||||||
*
|
*
|
||||||
* @return name
|
* @return name
|
||||||
*/
|
*/
|
||||||
default String name() {
|
public String name();
|
||||||
return "";
|
|
||||||
|
/**
|
||||||
|
* 根据MultiHashKey生成一个CacheKeyGenerator
|
||||||
|
* @param key MultiHashKey
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public static CacheKeyGenerator create(MultiHashKey key) {
|
||||||
|
Objects.requireNonNull(key);
|
||||||
|
return new CacheKeyGenerator() {
|
||||||
|
@Override
|
||||||
|
public String generate(Object target, CacheAction action, Object... params) {
|
||||||
|
return key.keyFor(params);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String name() {
|
||||||
|
return "";
|
||||||
|
}
|
||||||
|
};
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user