您的位置:首页 > 数据库 > Redis

redis 模糊删除实现

2015-11-26 12:56 543 查看
redis 没有直接提供模糊删除的实现,我们可以根据现有的指令进行组合实现:

import java.util.Arrays;
import java.util.Set;

import javax.annotation.Resource;

import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;

import com.nonobank.application.service.RedisCacheService;

@Service("redisCacheService")
public class RedisCacheServiceImpl implements RedisCacheService{
//private final Logger logger = LoggerFactory.getLogger(getClass());

@Resource(name = "stringRedisTemplate")
private RedisTemplate<String, String> redisTemplate;

@Override
public void deleteByKey(String key) {
redisTemplate.delete(key);
}

@Override
public void deleteByPrex(String prex) {
Set<String> keys=redisTemplate.keys(prex+"*");

/*for test
*Iterator<String> it=keys.iterator();
* while(it.hasNext()){
logger.info(it.next());
}*/
redisTemplate.delete(keys);
}

@Override
public void deleteBySuffix(String suffix) {
Set<String> keys=redisTemplate.keys("*"+suffix);
redisTemplate.delete(keys);
}

@Override
public void deleteByKeys(String... keys) {
redisTemplate.delete(Arrays.asList(keys));
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: