使用redis的Hscan


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中操作,



 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM