| | |
| | | import lombok.AccessLevel; |
| | | import lombok.NoArgsConstructor; |
| | | import org.redisson.api.*; |
| | | import org.redisson.config.Config; |
| | | |
| | | import java.time.Duration; |
| | | import java.util.Collection; |
| | |
| | | public class RedisUtils { |
| | | |
| | | private static final RedissonClient CLIENT = SpringUtils.getBean(RedissonClient.class); |
| | | |
| | | public static NameMapper getNameMapper() { |
| | | Config config = CLIENT.getConfig(); |
| | | if (config.isClusterConfig()) { |
| | | return config.useClusterServers().getNameMapper(); |
| | | } |
| | | return config.useSingleServer().getNameMapper(); |
| | | } |
| | | |
| | | /** |
| | | * 限流 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 检查缓存对象是否存在 |
| | | * |
| | | * @param key 缓存的键值 |
| | | */ |
| | | public static boolean isExistsObject(final String key) { |
| | | return CLIENT.getBucket(key).isExists(); |
| | | } |
| | | |
| | | /** |
| | | * 缓存List数据 |
| | | * |
| | | * @param key 缓存的键值 |
| | |
| | | } |
| | | |
| | | /** |
| | | * 获得缓存Map的key列表 |
| | | * |
| | | * @param key 缓存的键值 |
| | | * @return key列表 |
| | | */ |
| | | public static <T> Set<String> getCacheMapKeySet(final String key) { |
| | | RMap<String, T> rMap = CLIENT.getMap(key); |
| | | return rMap.keySet(); |
| | | } |
| | | |
| | | /** |
| | | * 往Hash中存入数据 |
| | | * |
| | | * @param key Redis键 |
| | |
| | | * @return 对象列表 |
| | | */ |
| | | public static Collection<String> keys(final String pattern) { |
| | | Stream<String> stream = CLIENT.getKeys().getKeysStreamByPattern(getNameMapper().map(pattern)); |
| | | return stream.map(key -> getNameMapper().unmap(key)).collect(Collectors.toList()); |
| | | Stream<String> stream = CLIENT.getKeys().getKeysStreamByPattern(pattern); |
| | | return stream.collect(Collectors.toList()); |
| | | } |
| | | |
| | | /** |
| | |
| | | * @param pattern 字符串前缀 |
| | | */ |
| | | public static void deleteKeys(final String pattern) { |
| | | CLIENT.getKeys().deleteByPattern(getNameMapper().map(pattern)); |
| | | CLIENT.getKeys().deleteByPattern(pattern); |
| | | } |
| | | |
| | | /** |
| | |
| | | */ |
| | | public static Boolean hasKey(String key) { |
| | | RKeys rKeys = CLIENT.getKeys(); |
| | | return rKeys.countExists(getNameMapper().map(key)) > 0; |
| | | return rKeys.countExists(key) > 0; |
| | | } |
| | | } |