package com.dl.framework.handler;
|
|
import com.dl.common.utils.StringUtils;
|
import org.redisson.api.NameMapper;
|
|
/**
|
* redis缓存key前缀处理
|
*
|
* @author ye
|
* @date 2022/7/14 17:44
|
* @since 4.3.0
|
*/
|
public class KeyPrefixHandler implements NameMapper {
|
|
private final String keyPrefix;
|
|
public KeyPrefixHandler(String keyPrefix) {
|
//前缀为空 则返回空前缀
|
this.keyPrefix = StringUtils.isBlank(keyPrefix) ? "" : keyPrefix + ":";
|
}
|
|
/**
|
* 增加前缀
|
*/
|
@Override
|
public String map(String name) {
|
if (StringUtils.isBlank(name)) {
|
return null;
|
}
|
if (StringUtils.isNotBlank(keyPrefix) && !name.startsWith(keyPrefix)) {
|
return keyPrefix + name;
|
}
|
return name;
|
}
|
|
/**
|
* 去除前缀
|
*/
|
@Override
|
public String unmap(String name) {
|
if (StringUtils.isBlank(name)) {
|
return null;
|
}
|
if (StringUtils.isNotBlank(keyPrefix) && name.startsWith(keyPrefix)) {
|
return name.substring(keyPrefix.length());
|
}
|
return name;
|
}
|
|
}
|