#
Junjie
21 小时以前 9af70943c966b0c74dcd735217ff18c9d7564221
src/main/java/com/zy/common/utils/RedisUtil.java
@@ -1,7 +1,7 @@
package com.zy.common.utils;
import com.baomidou.mybatisplus.toolkit.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.RedisCallback;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Component;
@@ -29,27 +29,8 @@
    @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);
    }
    /**
@@ -114,6 +95,11 @@
    //============================ String =============================
    public Set<String> searchKeys(String key) {
        Set<String> keys = redisTemplate.keys(key + "*");
        return keys;
    }
    /**
     * 普通缓存获取
     *
@@ -149,6 +135,7 @@
    public boolean set(String key, Object value) {
        try {
            redisTemplate.opsForValue().set(key, value);
            redisTemplate.execute((RedisCallback<Void>) connection -> null);
            long start = System.currentTimeMillis();
            while (System.currentTimeMillis() - start < 10000) {//有效期10s
                Object o = redisTemplate.opsForValue().get(key);
@@ -182,6 +169,7 @@
            } else {
                set(key, value);
            }
            redisTemplate.execute((RedisCallback<Void>) connection -> null);
            return true;
        } catch (Exception e) {
            e.printStackTrace();