| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 | package com.genersoft.iot.vmp.utils.redis;import com.google.common.collect.Lists;import org.springframework.data.redis.core.Cursor;import org.springframework.data.redis.core.RedisCallback;import org.springframework.data.redis.core.RedisTemplate;import org.springframework.data.redis.core.ScanOptions;import java.util.ArrayList;import java.util.HashSet;import java.util.List;import java.util.Set;/** * Redis工具类 * * @author swwheihei * @date 2020年5月6日 下午8:27:29 */@SuppressWarnings(value = {"rawtypes", "unchecked"})public class RedisUtil {    /**     * 模糊查询     *     * @param query 查询参数     * @return     */    public static List<Object> scan(RedisTemplate redisTemplate, String query) {        Set<String> resultKeys = (Set<String>) redisTemplate.execute((RedisCallback<Set<String>>) connection -> {            ScanOptions scanOptions = ScanOptions.scanOptions().match("*" + query + "*").count(1000).build();            Cursor<byte[]> scan = connection.scan(scanOptions);            Set<String> keys = new HashSet<>();            while (scan.hasNext()) {                byte[] next = scan.next();                keys.add(new String(next));            }            return keys;        });        return Lists.newArrayList(resultKeys);    }}
 |