Redis模糊查詢


最近使用Redis優化項目功能,其中有一部分為模糊查詢,找了很多帖子,也沒有找到很好的解決方案和思路,最終皇天不負有心人啊,終於讓我找到了!!!

感謝該帖作者:WalkerAlone  原文鏈接:http://blog.csdn.net/qq_28893679/article/details/53005057

可以通過Redis中keys命令進行獲取key值,具體命令格式:keys pattern 

文中提到redis中允許模糊查詢的有3個通配符,分別是:*,?,[]

其中:

*:通配任意多個字符

?:通配單個字符

[]:通配括號內的某一個字符

=========================================================================

在實際項目中有可能會使用spring集成redis的RedisTemplate進行操作,這樣在注入模板時可能會出現模糊查詢不好用的情況,是因為

keys方法是存在於StringRedisTemplate子類中(父類-RedisTemplate)的

在spring配置時,一定要注意!!!

=========================================================================

實際操作中具體的思路:

1. 將要查詢的條件當做key進行ZSet存儲

2. 在獲取時,調用StringRedisTemplate.keys(pattern),例:

public Set keys(String pattern){
  return stringRedisTemplate.keys("*" + pattern + "*");
   // return stringRedisTemplate.keys("?" + pattern);
  // return stringRedisTemplate.keys("[" + pattern + "]");
}

 


免責聲明!

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



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