使用场景对比:set 存储单个大文本非结构化数据,hset 则存储结构化数据,一个 hash 存储一条数据,一个 filed 则存储 一条数据中的一个属性,value 则是属性对应的值。
scan操作取N条出来进行scan,并保持prefix
123456789101112131415 | public HashSet<String> getKeysByScan(String pattern) { ScanParams scanParams = new ScanParams().count(1000).match(pattern); HashSet<String> allKeys = new HashSet<>(); cluster.getClusterNodes().values().forEach((pool) -> { String cur = ScanParams.SCAN_POINTER_START; do { try (Jedis jedis = pool.getResource()) { ScanResult<String> scanResult = jedis.scan(cur, scanParams); allKeys.addAll(scanResult.getResult()); cur = scanResult.getStringCursor(); } } while (!cur.equals(ScanParams.SCAN_POINTER_START)); }); return allKeys; } |
---|