有以下場景,key:A,B,C,準備將他們的組合做key:
A: 1B: 2C: 3AB: 4AC: 5BC: 6ABC: 7
我想詢問最多匹配次數的key,像是我想找A,C那麼,排序後的結果:
AC
ABC
A
C
這樣的在redis裡怎麼排序查找啊?還是我的設計就有問題啊?請教。
欢迎选择我的课程,让我们一起见证您的进步~~
Redis 是輕查詢的NoSQL ,除了基於鍵名的查詢,幾乎沒有其他的查詢方式,不適合使用Redis 做重查詢的資料庫,如果需要豐富的查詢,建議使用MongoDb , 相比較而言Redis 更適合高速讀寫,沒有過多邏輯依賴的快取系統。
另外,你這個需求,可以把參與排序的數據放到同一個 hash 裡,使用時讀出所有數據,再在程式中進行排序。不過這只是個折衷的方法。
使用redis內建的sortset類型儲存資料吧,它支援sorce下標 相當於索引 有強大的查詢 排序 範圍查詢能力 具體可以看redis關於sortset類型的文件
Redis只支援一種模糊查詢,那就是keys,根據關鍵字進行查詢,其他的任何資料結構都不支持,所以你的需求單純的透過Redis肯定是無法實現的。可以考慮其他NoSql產品,或透過建立索引來實現。
Redis 是輕查詢的NoSQL ,除了基於鍵名的查詢,幾乎沒有其他的查詢方式,不適合使用Redis 做重查詢的資料庫,如果需要豐富的查詢,建議使用MongoDb , 相比較而言Redis 更適合高速讀寫,沒有過多邏輯依賴的快取系統。
另外,你這個需求,可以把參與排序的數據放到同一個 hash 裡,使用時讀出所有數據,再在程式中進行排序。不過這只是個折衷的方法。
使用redis內建的sortset類型儲存資料吧,它支援sorce下標 相當於索引 有強大的查詢 排序 範圍查詢能力 具體可以看redis關於sortset類型的文件
Redis只支援一種模糊查詢,那就是keys,根據關鍵字進行查詢,其他的任何資料結構都不支持,所以你的需求單純的透過Redis肯定是無法實現的。可以考慮其他NoSql產品,或透過建立索引來實現。