mirror of https://gitee.com/stylefeng/roses
【8.0】【cache】删除缓存增加一个接口
parent
8b37874ebf
commit
0dc628ad36
|
@ -85,6 +85,15 @@ public interface CacheOperatorApi<T> {
|
|||
*/
|
||||
void remove(String... key);
|
||||
|
||||
/**
|
||||
* 删除缓存
|
||||
*
|
||||
* @param keys 多个键集合
|
||||
* @author fengshuonan
|
||||
* @since 2023/7/14 17:35
|
||||
*/
|
||||
void remove(Collection<String> keys);
|
||||
|
||||
/**
|
||||
* 删除缓存
|
||||
*
|
||||
|
|
|
@ -28,6 +28,7 @@ import cn.hutool.cache.impl.CacheObj;
|
|||
import cn.hutool.cache.impl.TimedCache;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
|
||||
|
||||
import java.util.*;
|
||||
|
@ -71,6 +72,17 @@ public abstract class AbstractMemoryCacheOperator<T> implements CacheOperatorApi
|
|||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Collection<String> keys) {
|
||||
if (ObjectUtil.isEmpty(keys)) {
|
||||
return;
|
||||
}
|
||||
|
||||
for (String key : keys) {
|
||||
timedCache.remove(calcKey(key));
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void expire(String key, Long expiredSeconds) {
|
||||
T value = timedCache.get(calcKey(key), true);
|
||||
|
|
|
@ -69,6 +69,12 @@ public abstract class AbstractRedisCacheOperator<T> implements CacheOperatorApi<
|
|||
redisTemplate.delete(withPrefixKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Collection<String> keys) {
|
||||
List<String> withPrefixKeys = keys.stream().map(this::calcKey).collect(Collectors.toList());
|
||||
redisTemplate.delete(withPrefixKeys);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void expire(String key, Long expiredSeconds) {
|
||||
redisTemplate.boundValueOps(calcKey(key)).expire(expiredSeconds, TimeUnit.SECONDS);
|
||||
|
|
|
@ -26,6 +26,7 @@ package cn.stylefeng.roses.kernel.cache.redis;
|
|||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.map.MapUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.stylefeng.roses.kernel.cache.api.CacheOperatorApi;
|
||||
import org.springframework.data.redis.core.RedisTemplate;
|
||||
|
||||
|
@ -70,6 +71,14 @@ public abstract class AbstractRedisHashCacheOperator<T> implements CacheOperator
|
|||
redisTemplate.boundHashOps(getCommonKeyPrefix()).delete(key);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void remove(Collection<String> keys) {
|
||||
if (ObjectUtil.isEmpty(keys)) {
|
||||
return;
|
||||
}
|
||||
redisTemplate.boundHashOps(getCommonKeyPrefix()).delete(keys.toArray());
|
||||
}
|
||||
|
||||
@Override
|
||||
public void expire(String key, Long expiredSeconds) {
|
||||
// 设置整个hash的
|
||||
|
|
Loading…
Reference in New Issue