| | |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import org.redisson.api.NameMapper; |
| | | |
| | | /* |
| | | /** |
| | | * redis缓存key前缀处理 |
| | | * |
| | | * @author ye |
| | | * @create 2022/7/14 17:44 |
| | | * @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.isBlank(keyPrefix)) { |
| | | return name; |
| | | } |
| | | if (!name.startsWith(keyPrefix)) { |
| | | if (StringUtils.isNotBlank(keyPrefix) && !name.startsWith(keyPrefix)) { |
| | | return keyPrefix + name; |
| | | } else { |
| | | return name; |
| | | } |
| | | return name; |
| | | } |
| | | |
| | | //去除前缀 |
| | | /** |
| | | * 去除前缀 |
| | | */ |
| | | @Override |
| | | public String unmap(String name) { |
| | | if (StringUtils.isBlank(name)) { |
| | | return null; |
| | | } |
| | | if (StringUtils.isBlank(keyPrefix)) { |
| | | return name; |
| | | } |
| | | if (name.startsWith(keyPrefix)) { |
| | | if (StringUtils.isNotBlank(keyPrefix) && name.startsWith(keyPrefix)) { |
| | | return name.substring(keyPrefix.length()); |
| | | } |
| | | return name; |
| | | } |
| | | |
| | | } |