|  |  | 
 |  |  | package com.zy.common.utils; | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.toolkit.StringUtils; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.data.redis.core.RedisTemplate; | 
 |  |  | import org.springframework.data.redis.core.StringRedisTemplate; | 
 |  |  | 
 |  |  |     @Autowired | 
 |  |  |     private StringRedisTemplate stringRedisTemplate; | 
 |  |  |  | 
 |  |  |     private static final String LOCK_PREFIX = "lock:"; | 
 |  |  |     private static final long DEFAULT_EXPIRE_TIME = 10; // 默认锁过期时间,单位为分钟 | 
 |  |  |  | 
 |  |  |     public RedisUtil(RedisTemplate redisTemplate) { | 
 |  |  |         this.redisTemplate = redisTemplate; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * Redis加锁的操作 | 
 |  |  |      */ | 
 |  |  |     public Boolean tryLock(String key) { | 
 |  |  |         String redisKey = LOCK_PREFIX + key; | 
 |  |  |         return redisTemplate.opsForValue().setIfAbsent(redisKey, "locked", DEFAULT_EXPIRE_TIME, TimeUnit.MINUTES); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * Redis解锁的操作 | 
 |  |  |      */ | 
 |  |  |     public void unlock(String lockKey) { | 
 |  |  |         String redisKey = LOCK_PREFIX + lockKey; | 
 |  |  |         redisTemplate.delete(redisKey); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |  | 
 |  |  |     //============================ String ============================= | 
 |  |  |  | 
 |  |  |     public Set<String> searchKeys(String key) { | 
 |  |  |         Set<String> keys = redisTemplate.keys(key + "*"); | 
 |  |  |         return keys; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 普通缓存获取 | 
 |  |  |      * |