hscan 查看一個hscan中符合條件的屬性;
HashOperations hashOperations =redisTemplate.opsForHash();
Cursor<Map.Entry<String, Date>> cursor =hashOperations.scan("hash:test", ScanOptions.scanOptions().match("*123456*").count(1).build()); while(cursor.hasNext()){ Map.Entry<String, Date> next = cursor.next(); String key = next.getKey(); Date value = next.getValue(); System.out.println(key); System.out.println(value); } try { cursor.close(); }catch (Exception e){ }
Map.Entry<String, Date> 是泛型,和我們存入的數據類型對應
count()應該是代表一次取出多少個符合條件的屬性;
這樣就可以避免一次性查詢過多的key造成redis堵塞;
但是我們在遍歷
cursor的時候,所有的屬性都已經在這里了;
最后一定要記得關閉連接
cursor.close();
如果是針對所有key模糊查詢:Set keys = stringRedisTemplate.keys(key);
opsfor***都是對針對具體數據類型的操作,會對數據做一些封裝。
如果處理的key不考慮其數據的類型,都是在RedisTemplate中操作,