redis 模糊刪除實現


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));        
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM