#
Junjie
3 天以前 8b60bf565eb475c13e39caa305c4415b34d8ec02
src/main/java/com/zy/common/utils/RedisUtil.java
@@ -100,6 +100,26 @@
        return keys;
    }
    public Set<String> scanKeys(String key, int limit) {
        return (Set<String>) redisTemplate.execute((org.springframework.data.redis.core.RedisCallback<Set<String>>) connection -> {
            org.springframework.data.redis.core.ScanOptions options = org.springframework.data.redis.core.ScanOptions.scanOptions().match(key + "*").count(limit).build();
            org.springframework.data.redis.core.Cursor<byte[]> cursor = connection.scan(options);
            java.util.LinkedHashSet<String> result = new java.util.LinkedHashSet<>();
            while (cursor.hasNext()) {
                result.add(new String(cursor.next()));
                if (result.size() >= limit) {
                    break;
                }
            }
            try { cursor.close(); } catch (Exception e) {}
            return result;
        });
    }
    public java.util.List<Object> multiGet(java.util.Collection<String> keys) {
        return redisTemplate.opsForValue().multiGet(keys);
    }
    /**
     * 普通缓存获取
     *
@@ -136,6 +156,24 @@
        try {
            redisTemplate.opsForValue().set(key, value);
            redisTemplate.execute((RedisCallback<Void>) connection -> null);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    /**
     * 普通缓存放入
     *
     * @param key   键
     * @param value 值
     * @return true成功 false失败
     */
    public boolean setSync(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);